Github Docker Install

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.

Overview

# # 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.

Docker

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 Toolbox

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-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.

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

Github Docker InstallGithub

Docker Desktop

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!

Windows Server?

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.

TL/DR

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

Supported platforms

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.

Desktop

Platformx86_64 / amd64arm64 (Apple Silicon)
Docker Desktop for Mac (macOS)
Docker Desktop for Windows

Server

Docker provides .deb and .rpm packages from the following Linux distributionsand architectures:

Platformx86_64 / amd64arm64 / aarch64arm (32-bit)s390x
CentOS
Debian
Fedora
Raspbian
RHEL
SLES
Ubuntu
Binaries

Other Linux distributions

Note

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.

Release channels

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.

Stable

Year-month releases are made from a release branch diverged from the masterbranch. The branch is created with format <year>.<month>, for example20.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 20.10 branch.

Test

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

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 0.0.0-20180720214833-f61e0f7.

These builds allow for testing from the latest code on the master branch. Noqualifications or guarantees are made for the nightly builds.

Support

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.

Docker

Backporting

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.

Upgrade path

Patch releases are always backward compatible with its year-month version.

Licensing

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

Get started

After setting up Docker, you can learn the basics withGetting started with Docker.

docker, installation, install, Docker Engine, Docker Engine, docker editions, stable, edge