Starting with Docker 17.03, Docker introduced Community edition(CE) and Enterprise edition(CE) version of their Docker software. The release numbering also changed. From Docker 1.13.1, we jump to 17.03 version. Docker CE is the free version while Docker EE is the commercially supported enterprise version. Docker enterprise edition comes in different flavors based on the cost. Please refer this link for details on comparison between different Docker editions and the supported platforms for each editions. Both Docker CE and EE follow time based release schedule. Docker CE has 3 editions. CE “stable” edition gets released once every 3 months. CE “edge” edition gets released once every month. CE “test” edition is a release candidate that gets folded into “edge” and “stable” versions. I have used Docker release candidate(“test” edition) to try out new features before they get released. The steps to install release candidate Docker version is slightly different from installing “stable” and “edge” versions. Docker CE 17.06.0-ce-rc2 got released few days back and I have started trying out the new features in this version. This is a precursor to 17.06 release that will happen in few weeks. In this blog, I will cover installation steps for Docker CE edition release candidate software versions. I have focused on 17.06.0-ce-rc2, but the steps applies to any release candidate versions. The 3 approaches I have tried are installation from Docker static binaries, Docker machine with boot2docker and installation in Ubuntu platform with package manager.
Installation using Docker machine
When Docker RC version is released, the corresponding boot2docker image also gets released. I used the steps below to to the installation.
docker-machine create -d virtualbox –virtualbox-boot2docker-url https://github.com/boot2docker/boot2docker/releases/download/v17.06.0-ce-rc2/boot2docker.iso docker-rc2
I have used docker-machine 0.10.0. I have tried the above steps in both Linux and Windows platforms.
Installation using Package manager
This approach is used to install on native Linux systems. I tried this on Ubuntu 14.04 system, the steps below are specific to Ubuntu platform. The steps should be similar for other Linux flavors as well using the corresponding package manager associated with the flavor. To make it easy to move between Docker “stable”, “edge” and “test” versions, I remove the old Docker version and then install the new version. Following are the steps I followed to move from Docker “edge” 17.05-ce version to “test” 17.06-ce-rc2.
Remove old Docker version:
sudo apt-get -y remove docker-ce
Remove “edge” from repository list:
sudo add-apt-repository –remove
“deb [arch=amd64] https://download.docker.com/linux/ubuntu
$(lsb_release -cs)
edge”
Add “test” to repository list:
sudo add-apt-repository
“deb [arch=amd64] https://download.docker.com/linux/ubuntu
$(lsb_release -cs)
test”
Update and install Docker:
sudo apt-get update
sudo apt-get -y install docker-ce
The install would pick the latest version associated with “stable”, “edge” or “test”. The procedure above can be used to migrate from any latest combination of “stable”, “edge” or “test” channels.
Installation using Static binary
This approach is advisable only for testing purposes. I followed the steps in this link for the installation.
Following are the commands I used for installation in Ubuntu 14.04:
export DOCKER_CHANNEL=test
curl -fL -o docker.tgz “https://download.docker.com/linux/static/$/x86_64/docker-17.06.0-ce-rc2-x86_64.tgz”
tar –extract –file docker.tgz –strip-components 1 –directory /usr/local/bin/
Docker binaries would be in /usr/local/bin. When Docker is installed using package manager, docker binaries are in /usr/bin. If /usr/local/bin is higher up in the path, this version would be picked. This approach allows us to switch between versions easily.
Following is the Docker version running after installation using any of the 3 above approaches:
$ docker version
Client:
Version: 17.06.0-ce-rc2
API version: 1.30
Go version: go1.8.3
Git commit: 402dd4a
Built: Wed Jun 7 10:04:51 2017
OS/Arch: linux/amd64
Server:
Version: 17.06.0-ce-rc2
API version: 1.30 (minimum version 1.12)
Go version: go1.8.3
Git commit: 402dd4a
Built: Wed Jun 7 10:03:45 2017
OS/Arch: linux/amd64
Experimental: true
If there are any Docker topics that you would like more details, please let me know.