When I'm working with Windows I love to have a standarized way to install software. Did you remember how we have set up our dev machines a few years ago? Well, about five years ago I found this blog post by security expert Troy Hunt and his 102 simple steps for installing and configuring a new Windows 8 machine showed most of the time cinst this
and cinst that
. This opened my eyes, wow there is a package manager for Windows. Since then I started with automation tools like Packer and Vagrant to describe repeatable development and test environments. This also lead me to contribute back to the Chocolatey community repository, because I just couldn't cinst packer
at that time. So I wrote my first Chocolatey package which is very easy as it only links to the official download URL's from the software vendor.
In these five years I went through several Windows machines and contributed missing Choco packages also for installing the Docker tools I needed.
Working with Docker Toolbox. Let’s now look at how Docker Toolbox can be used to work with Docker containers on Windows. The first step is to launch the Docker Toolbox application for which the shortcut is created on the desktop when the installation of Docker toolbox is carried out. Next, you will see the configuration being carried out when.
The following diagram shows you the most relevant Chocolatey packages for Docker. I'll give you a little bit of history and explain why they all exist in the following chapters.
The first Docker tool that landed as a Chocolatey package was the Docker CLI. Ahmet Alp Balkan working at Microsoft at that time ported the Docker CLI to Windows so we had the docker.exe
to communicate with remote Docker engines running in a Linux machine. This package was and still is called docker
.
Nowadays it might be confusing if people want to run choco install docker
and 'just' get the Docker CLI without any Docker Engine. We're in discussion with the Chocolatey team how to softly fix this and transfer the Docker CLI into a new package name called docker-cli
to make it more clear.
Docker, Inc. created Docker Toolbox to have all tools and also VirtualBox bundled together. Manuel Riezebosch started a Chocolatey package docker-toolbox
for it and still maintains it.
This package is usable for people that cannot run the newer Docker Desktop product. The reasons could be
I worked with VMware Workstation for years so the Docker Toolbox wasn't my thing. I knew that there is a tool called docker-machine
to create Linux VM's with the boot2docker.iso file. That's why I started with the Choco packages for docker-machine
, helped maintaining the docker-compose
package and added some Docker Machine drivers as Chocolatey packages docker-machine-vmwareworkstation
and docker-machine-vmware
as well.
This is the fine granular approach to install only the tools you need, but still using the choco install
experience.
Manuel Riezebosch started a Chocolatey package docker-for-windows
which is an excellent work. You can install 'Docker for Windows' product with it which is the successor of 'Docker Toolbox'. But please read the next section to grab the latest version of it.
With the new release of Docker Desktop 2.0 for Windows 10 Pro/Enterprise there is also a change in the name. The product 'Docker for Windows' has been renamed to 'Docker Desktop'. It also gets a new version format.
That's the reason to start with a new Choco package name. Please unlearn docker-for-windows
and just use choco install docker-desktop
to get the latest version on your machine.
Thanks Manuel Riezebosch for mainting this choco package!
If you want to install Docker on a Windows Server 2016 or 2019, there is no Chocolatey package for it.
Please read Windows Containers on Windows Server installation guide from Microsoft or the Docker Enterprise Edition for Windows Server guide from the Docker Store.
The best experience with Docker on a Windows 10 machine is using the Docker Desktop product. Try to grab an up-to-date Windows 10 Pro machine to be all set for it and then run
Otherwise jump over to https://chocolatey.org/search?q=docker and grab one of the other Docker related Chocolatey packages.
I hope this overview of all the Chocolatey packages will give you a better understanding of what is right for your needs. I would love to hear your feedback so please leave a comment below or ask me on Twitter.