Ubuntu Docker Install

Docker Engine-Community supports the following Ubuntu versions:

  • Xenial 16.04 (LTS)
  • Bionic 18.04 (LTS)
  • Cosmic 18.10
  • Disco 19.04
  • Other newer versions...

Docker Engine - Community supports x86_64 (or amd64), armhf, arm64, s390x (IBM Z), and ppc64le (IBM Power) architectures.


Use the official installation script to install automatically.

The installation command is as follows:

# 下载并执行Docker官方安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker

Manual installation

Uninstall old versions

Older versions of Docker were called docker, docker.io, or docker-engine. If they are installed, uninstall them:

$ sudo apt-get remove docker docker-engine docker.io containerd runc

Currently named Docker Engine-Community package docker-ce.

Install Docker Engine-Community. The following describes two methods.

Install using the Docker repository

Before installing Docker Engine-Community for the first time on a new host, you need to set up the Docker repository. Afterward, you can install and update Docker from the repository.

Set up repository

Update the apt package index.

$ sudo apt-get update

Install apt dependency packages, used to obtain the repository via HTTPS:

$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

Add Docker's official GPG key:

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

Use the following command to set up the stable repository:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
 $(. /etc/os-release && echo "$VERSION_CODENAME") stable"
| \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Install Docker Engine-Community

Update the apt package index.

$ sudo apt-get update

Install the latest version of Docker Engine-Community and containerd, or go to the next step to install a specific version:

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

To install a specific version of Docker Engine-Community, list the available versions in the repository, then select one to install. List the versions available in your repository:

$ apt-cache madison docker-ce

  docker-ce | 5:18.09.1~3-0~ubuntu-xenial | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu  xenial/stable amd64 Packages
  docker-ce | 5:18.09.0~3-0~ubuntu-xenial | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu  xenial/stable amd64 Packages
  docker-ce | 18.06.1~ce~3-0~ubuntu       | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu  xenial/stable amd64 Packages
  docker-ce | 18.06.0~ce~3-0~ubuntu       | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu  xenial/stable amd64 Packages
  ...

Install a specific version using the version string in the second column, for example 5:18.09.1~3-0~ubuntu-xenial.

$ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

Test whether Docker was installed successfully by entering the following command. If the following information is printed, the installation was successful:

$ sudo docker run hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete                                                                                                                                  Digest: sha256:c3b4ada4687bbaa170745b3e4dd8ac3f194ca95b2d0518b417fb47e5879d9b5f
Status: Downloaded newer image for hello-world:latest


Hello from Docker!
This message shows that your installation appears to be working correctly.


To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.


To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash


Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/


For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Install using a shell script

Docker onget.docker.com andtest.docker.comConvenience scripts are provided for quickly installing the edge and test versions of Docker Engine-Community. The source code of the script is in the docker-install repository. These scripts are not recommended for use in production environments. Before using them, you should understand the potential risks:

  • The script requires root or sudo privileges to run. Therefore, you should carefully inspect and review the script before running it.

  • These scripts attempt to detect the Linux distribution and version and configure the package management system for you. In addition, the scripts do not allow you to customize any installation parameters. From Docker's perspective, or from the perspective of your own organization's guidelines and standards, this may lead to unsupported configurations.

  • These scripts will install all dependencies and recommendations of the package manager without confirmation. This may install a large number of packages, depending on the current configuration of the host.

  • The script does not provide an option for specifying which version of Docker to install; instead, it installs the latest version published in the edge channel.

  • If Docker has already been installed on the host using other mechanisms, do not use the convenience script.

This example usesget.docker.com The script on get.docker.com installs the latest version of Docker Engine-Community on Linux. To install the latest test version, use test.docker.com instead. In each of the following commands, replace each occurrence of get with test.

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

If you want to use Docker as a non-root user, you should consider adding the user to the docker group in a manner similar to the following:

$ sudo usermod -aG docker your-user

Uninstall docker

Delete the installation package:

sudo apt-get purge docker-ce

Remove images, containers, configuration files, and other content:

sudo rm -rf /var/lib/docker
other extensions