- Install using the repository
- Post-installation steps for Linux
- Install Docker Compose
Install using the repository
Before you install Docker CE for the first time on a new host machine, you need to set up the Docker repository. Afterward, you can install and update Docker from the repository.
Set up the repository
Update the apt package index:
$ sudo apt-get update
Install packages to allow apt to use a repository over HTTPS:
$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg2 \ software-properties-common
Add Docker’s official GPG key:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
Verify that the key ID is 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88.
$ sudo apt-key fingerprint 0EBFCD88 pub rsa4096 2017-02-22 [SCEA] 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid [ unknown] Docker Release (CE deb) <firstname.lastname@example.org> sub rsa4096 2017-02-22 [S]
Use the following command to set up the stable repository.
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/debian \ $(lsb_release -cs) \ stable"
lsb_release -cs sub-command below returns the name of your Debian distribution, such as
Install Docker CE
$ sudo apt-get update
Install the latest version of Docker CE, or go to the next step to install a specific version. Any existing installation of Docker is replaced.
$ sudo apt-get install docker-ce
If you have multiple Docker repositories enabled, installing or updating without specifying a version in the
apt-get updatecommand will always install the highest possible version, which may not be appropriate for your stability needs.
On production systems, you should install a specific version of Docker CE instead of always using the latest. This output is truncated. List the available versions:
$ apt-cache madison docker-ce docker-ce | 17.06.2~ce-0~debian | https://download.docker.com/linux/debian stretch/stable amd64 Packages docker-ce | 17.03.0~ce-0~debian-stretch | https://download.docker.com/linux/debian stretch/stable amd64 Packages
The contents of the list depend upon which repositories are enabled. Choose a specific version to install. The second column is the version string. The third column is the repository name, which indicates which repository the package is from and by extension its stability level. To install a specific version, append the version string to the package name and separate them by an equals sign (=):
$ sudo apt-get install docker-ce=<VERSION_STRING>
The Docker daemon starts automatically.
Uninstall Docker CE
Uninstall the Docker CE package:
sudo apt-get purge docker-ce
Images, containers, volumes, or customized configuration files on your host are not automatically removed. To delete all images, containers, and volumes:
$ sudo rm -rf /var/lib/docker
You must delete any edited configuration files manually.
Post-installation steps for Linux
Manage Docker as a non-root user
docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user
root and other users can only access it using
docker daemon always runs as the
If you don’t want to use
sudo when you use the
docker command, create a Unix group called
docker and add users to it. When the
docker daemon starts, it makes the ownership of the Unix socket read/writable by the
dockergroup grants privileges equivalent to the
rootuser. For details on how this impacts security in your system, see Docker Daemon Attack Surface.
Configure Docker to start on boot
$ sudo systemctl enable docker
Installing Bash Command Completion for Core Docker Commands
# 1. Make sure bash completion is installed. $ yum install -y bash-completion # 2. Install docker completion. $ sudo curl -L https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker -o /etc/bash_completion.d/docker # 3. Make docker completion to be available. $ sudo . /etc/profile
Install Docker Compose
On Linux, you can download the Docker Compose binary from the Compose repository release page on GitHub. Follow the instructions from the link, which involve running the curl command in your terminal to download the binaries. These step by step instructions are also included below.
Run this command to download Docker Compose, replacing
$dockerComposeVersionwith the specific version of Compose you want to use:
sudo curl -L https://github.com/docker/compose/releases/download/$dockerComposeVersion/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
For example, to download Compose version 1.15.0, the command is:
sudo curl -L https://github.com/docker/compose/releases/download/1.15.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
Use the latest Compose release number in the download command.
Apply executable permissions to the binary:
sudo chmod +x /usr/local/bin/docker-compose
Install command completion for the
sudo curl -L https://raw.githubusercontent.com/docker/compose/1.15.0/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
To uninstall Docker Compose if you installed using
sudo rm /usr/local/bin/docker-compose