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.
- Docker Github Howto
- Docker Install From Github
- Github Actions Install Docker-compose
- Github Docker Install
- Github Ansible Install Docker
In these five years I went through several Windows machines and contributed missing Choco packages also for installing the Docker tools I needed.
# # This script is meant for quick & easy install via: # $ curl -fsSL -o get-docker.sh # $ sh get-docker.sh # # For test builds (ie. Release candidates): # $ curl -fsSL -o test-docker.sh # $ sh test-docker.sh # # NOTE: Make sure to verify the contents of the script # you downloaded matches the. If you do not have Docker installed, you may follow these instructions to install it on your system. Verify that Docker is installed by running $ docker -v Docker version 17.06.0-ce, build 02c1d87.
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
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
- Still running Windows 7
- Running a Windows 10 Home or LTSB version which is too old
- Running VirtualBox VM's for other tasks that prevent the installation of Hyper-V
Machine, Compose, ...
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-vmware as well.
This is the fine granular approach to install only the tools you need, but still using the
choco install experience.
Docker for Windows
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.
Docker Github Howto
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.
Docker Install From Github
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.
Estimated reading time: 6 minutes
Docker Engine is available on a variety of Linux platforms,macOS and Windows 10through Docker Desktop, and as a static binary installation. Findyour preferred operating system below.
|Platform||x86_64 / amd64||arm64 (Apple Silicon)|
|Docker Desktop for Mac (macOS)|
|Docker Desktop for Windows|
.rpm packages from the following Linux distributionsand architectures:
|Platform||x86_64 / amd64||arm64 / aarch64||arm (32-bit)||s390x|
Other Linux distributions
While the instructions below may work, Docker does not test or verifyinstallation on derivatives.
- Users of Debian derivatives such as “BunsenLabs Linux”, “Kali Linux” or “LMDE” (Debian-based Mint) should follow the installation instructions forDebian, substituting the version of their distro for thecorresponding Debian release. Refer to the documentation of your distro to findwhich Debian release corresponds with your derivative version.
- Likewise, users of Ubuntu derivatives such as “Kubuntu”, “Lubuntu” or “Xubuntu”should follow the installation instructions for Ubuntu,substituting the version of their distro for the corresponding Ubuntu release.Refer to the documentation of your distro to find which Ubuntu releasecorresponds with your derivative version.
- Some Linux distributions are providing a package of Docker Engine through theirpackage repositories. These packages are built and maintained by the Linuxdistribution’s package maintainers and may have differences in configurationor built from modified source code. Docker is not involved in releasing thesepackages and bugs or issues involving these packages should be reported inyour Linux distribution’s issue tracker.
Docker provides binaries for manual installation of Docker Engine.These binaries are statically linked and can be used on any Linux distribution.
Docker Engine has three types of update channels, stable, test,and nightly:
- The Stable channel gives you latest releases for general availability.
- The Test channel gives pre-releases that are ready for testing beforegeneral availability (GA).
- The Nightly channel gives you latest builds of work in progress for thenext major release.
Year-month releases are made from a release branch diverged from the masterbranch. The branch is created with format
<year>.<month>, for example
20.10. The year-month name indicates the earliest possible calendarmonth to expect the release to be generally available. All further patchreleases are performed from that branch. For example, once
v20.10.0 isreleased, all subsequent patch releases are built from the
In preparation for a new year-month release, a branch is created fromthe master branch with format
YY.mm when the milestones desired byDocker for the release have achieved feature-complete. Pre-releasessuch as betas and release candidates are conducted from their respective releasebranches. Patch releases and the corresponding pre-releases are performedfrom within the corresponding release branch.
Nightly builds give you the latest builds of work in progress for the next majorrelease. They are created once per day from the master branch with the versionformat:
where the time is the commit time in UTC and the final suffix is the prefixof the commit hash, for example
These builds allow for testing from the latest code on the master branch. Noqualifications or guarantees are made for the nightly builds.
Docker Engine releases of a year-month branch are supported with patches asneeded for one month after the next year-month general availability release.
This means bug reports and backports to release branches are assesseduntil the end-of-life date.
After the year-month branch has reached end-of-life, the branch may bedeleted from the repository.
Backports to the Docker products are prioritized by the Docker company. ADocker employee or repository maintainer will endeavour to ensure sensiblebugfixes make it into active releases.
If there are important fixes that ought to be considered for backport toactive release branches, be sure to highlight this in the PR descriptionor by adding a comment to the PR.
Patch releases are always backward compatible with its year-month version.
Github Actions Install Docker-compose
Docker is licensed under the Apache License, Version 2.0. SeeLICENSE for the fulllicense text.
Reporting security issues
The Docker maintainers take security seriously. If you discover a securityissue, please bring it to their attention right away!
Github Docker Install
Please DO NOT file a public issue; instead send your report privatelyto [email protected]
Security reports are greatly appreciated, and Docker will publicly thank youfor it.
Github Ansible Install Docker
After setting up Docker, you can learn the basics withGetting started with Docker.docker, installation, install, Docker Engine, Docker Engine, docker editions, stable, edge