All Projects → StefanScherer → Docker Windows Box

StefanScherer / Docker Windows Box

Licence: mit
Various Vagrant envs with Windows 2019/10 and Docker, Swarm mode, LCOW, WSL2, ...

Programming Languages

powershell
5483 projects

Projects that are alternatives of or similar to Docker Windows Box

Docker Swarm Tutorial
Docker Swarm 基本教學 - 從無到有 Docker-Swarm-Beginners-Guide📝
Stars: ✭ 148 (-69.61%)
Mutual labels:  docker-swarm, docker-machine
Ansible Windows Docker Springboot
Example project showing how to provision, deploy, run & orchestrate Spring Boot apps with Docker Windows Containers on Docker Windows native using Packer, Powershell, Vagrant & Ansible
Stars: ✭ 58 (-88.09%)
Mutual labels:  vagrant, docker-swarm
Spring Microservice Sample
Spring Boot based Mircoservice sample
Stars: ✭ 199 (-59.14%)
Mutual labels:  docker-swarm, docker-machine
Tads Boilerplate
Terraform + Ansible + Docker Swarm boilerplate = DevOps on 🔥🔥🔥 | Infrastructure as Code
Stars: ✭ 424 (-12.94%)
Mutual labels:  vagrant, docker-swarm
docker-workshop
Workshop on Docker, Containers and Golang
Stars: ✭ 20 (-95.89%)
Mutual labels:  docker-swarm, docker-machine
Docker For All
Docker applied in development, devops, testing, product management etc.
Stars: ✭ 88 (-81.93%)
Mutual labels:  docker-swarm, docker-machine
Image Builder Rpi
SD card image for Raspberry Pi with Docker: HypriotOS
Stars: ✭ 973 (+99.79%)
Mutual labels:  vagrant, docker-machine
Docker Swarm
🐳🐳🐳 This repository is part of a blog series on Docker Swarm example using VirtualBox, OVH Openstack, Azure and Amazon Web Services AWS
Stars: ✭ 43 (-91.17%)
Mutual labels:  docker-swarm, docker-machine
playing-docker-swarm-docker-machine
Scripts to help you to play with Docker Swarm and Docker Machine
Stars: ✭ 19 (-96.1%)
Mutual labels:  docker-swarm, docker-machine
vagrant-boot2docker-swarm
A multi-machine Docker swarm Vagrant environment
Stars: ✭ 16 (-96.71%)
Mutual labels:  vagrant, docker-swarm
Windows Docker Machine
Work with Windows containers and LCOW on Mac/Linux/Windows
Stars: ✭ 667 (+36.96%)
Mutual labels:  vagrant, docker-machine
Awesome Docker
🐳 A curated list of Docker resources and projects
Stars: ✭ 20,870 (+4185.42%)
Mutual labels:  docker-swarm, docker-machine
docker-roj
Portable environments for Docker swarms and stacks
Stars: ✭ 31 (-93.63%)
Mutual labels:  docker-swarm, docker-machine
dockerX
Examples of amazing Docker/Docker-Compose/Docker Swarm technologies
Stars: ✭ 17 (-96.51%)
Mutual labels:  vagrant, docker-swarm
docker-swarm-vagrant
Getting started with Docker swarm
Stars: ✭ 20 (-95.89%)
Mutual labels:  vagrant, docker-swarm
Bento
Packer templates for building minimal Vagrant baseboxes for multiple platforms
Stars: ✭ 3,779 (+675.98%)
Mutual labels:  vagrant
Zenko
Zenko is the open source multi-cloud data controller: own and keep control of your data on any cloud.
Stars: ✭ 353 (-27.52%)
Mutual labels:  docker-swarm
Docker Machine Vmwareworkstation
VMWare Workstation driver for Docker Machine https://github.com/docker/machine
Stars: ✭ 355 (-27.1%)
Mutual labels:  docker-machine
Packer Templates
Packer templates for Vagrant base boxes
Stars: ✭ 471 (-3.29%)
Mutual labels:  vagrant
Orbiter
Orbiter is an opensource docker swarm autoscaler
Stars: ✭ 420 (-13.76%)
Mutual labels:  docker-swarm

docker-windows-box

This repo is a collection of various Vagrant environments to work with Windows Containers on a Windows Server 2019 or Windows 10 VM.

There are different Vagrantfiles for each scenario:

Introduction

This repo has started with a single Vagrantfile that is explained below. As you can see there are several interesting setups here as well in the sub folders.

Have a look at my blog posts how to Setup a local Windows 2016 TP5 Docker VM and Adding Hyper-V support to 2016 TP5 Docker VM for more details. I also can recommend a more up to date guide Getting started with Windows Containers by @glennsarti

After provisioning the box has the following tools installed:

  • Windows Server 2019 with Docker Engine 18.09.0 and client
  • docker-machine 0.16.0
  • docker-compose 1.23.0
  • (Docker Tab completion for PowerShell (posh-docker))
  • Chocolatey
  • Git command line
  • Git Tab completion for PowerShell (posh-git)
  • SSH client

Optionally you can create a Hyper-V Docker Linux machine and have a multi architecture experience in one VM.

Tested with Vagrant 2.1.2, VMware Fusion Pro 10.1.3 on a MacBookPro with Retina display. The Vagrant box will be started in fullscreen mode also with Retina support.

You can learn and play a lot of scenarios with it:

Future work will be a Docker Swarm with both Linux and Windows Docker Engines...

Get the base box

First register to evaluate Windows 2019, but you don't need to download the ISO manually.

The Vagrant base box is available in Vagrant Cloud https://app.vagrantup.com/StefanScherer, these are all eval versions of Windows Server 2019 or Windows 10.

Vagrant will download the base box if it's not available locally, a vagrant box list shows which boxes you already have downloaded.

Install Vagrant reload plugin

As we need to reboot the VM once during the provisioning, you will need an additional Vagrant plugin

vagrant plugin install vagrant-reload

Spin up the box

To start the VM with Vagrant run this command

vagrant up

You only have to logout and login once to have the Docker tools in user vagrant's PATH.

Create some Windows Docker Container images

You may clone my dockerfiles-windows repo and create some container images.

git clone https://github.com/StefanScherer/dockerfiles-windows
cd dockerfiles-windows
cd node
.\build.ps1

Test the nightly Windows Docker Engine

You can update the Docker Engine with the script

C:\update-container-host.ps1

This will stop the Docker service, download the nightly build from https://master.dockerproject.org and restart the service.

Create a Linux Docker machine in Hyper-V

If you want to try out multi architecture you also use docker-machine to create a Linux Docker Engine running in Hyper-V. I have prepared a script that will set up everything as there are some known issues.

C:\vagrant\scripts\create-hyperv-linux-docker-machine.ps1

This PowerShell script creates a Docker machine and updates Docker Engine to the latest so that the Windows Docker client is able to communicate with the Linux Docker Engine.

Use the Linux Docker machine

Open a PowerShell terminal as an administrator and select the Linux Docker machine with

docker-machine env --shell powershell | iex

Now run your first busybox container with

docker run -it busybox uname -a

Windows Docker Swarm demo

See subdirectory swarm-demo

Use Vagrant to control your box

From your host control your Vagrant box with the usual Vagrant workflow:

  • vagrant up
  • vagrant halt
  • vagrant destroy -f
  • vagrant snap take
  • vagrant snap rollback
  • ...

Writing the installation script for the Hyper-V Docker machine the snapshot functions helped me a lot to test the script again and again.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].