Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

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

License

NotificationsYou must be signed in to change notification settings

StefanScherer/docker-windows-box

Repository files navigation

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 toSetup a local Windows 2016 TP5 Docker VM andAdding Hyper-V support to 2016 TP5 Docker VM for more details. I also can recommend a more up to date guideGetting 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 toevaluate Windows 2019, but you don't need to download the ISO manually.

The Vagrant base box is available in Vagrant Cloudhttps://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, avagrant 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 withVagrant 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 mydockerfiles-windows repo and create some container images.

git clone https://github.com/StefanScherer/dockerfiles-windowscd dockerfiles-windowscd 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 fromhttps://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 usedocker-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 subdirectoryswarm-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.


[8]ページ先頭

©2009-2025 Movatter.jp