Prerequisites
- 64-bit CentOS 7
- Non-root user with sudo privileges. A CentOS 7 server set up using Initial Setup Guide for CentOS 7explains how to set this up.
Note: Docker requires a 64-bit version of CentOS 7 as well as a kernel version equal to or greater than 3.10. The default 64-bit CentOS 7 Droplet meets these requirements.
All the commands in this tutorial should be run as a non-root user. If root access is required for the command, it will be preceded by
sudo
. Initial Setup Guide for CentOS 7 explains how to add users and give them sudo access.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
-
Install required packages.
yum-utils
provides the yum-config-manager
utility, and device-mapper-persistent-data
and lvm2
are required by the devicemapper
storage driver.
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
-
Use the following command to set up the stable repository. You always need the stable repository, even if you want to install builds from the edge or test repositories as well.
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
-
Optional: Enable the edge and test repositories. These repositories are included in the
docker.repo
file above but are disabled by default. You can enable them alongside the stable repository.
$ sudo yum-config-manager --enable docker-ce-edge
$ sudo yum-config-manager --enable docker-ce-test
You can disable the edge or test repository by running the yum-config-manager
command with the --disable
flag. To re-enable it, use the --enable
flag. The following command disables the edge repository.
$ sudo yum-config-manager --disable docker-ce-edge
Note: Starting with Docker 17.06, stable releases are also pushed to the edge and test repositories.
Install required packages.
yum-utils
provides the yum-config-manager
utility, and device-mapper-persistent-data
and lvm2
are required by the devicemapper
storage driver.$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
Use the following command to set up the stable repository. You always need the stable repository, even if you want to install builds from the edge or test repositories as well.
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
Optional: Enable the edge and test repositories. These repositories are included in the
docker.repo
file above but are disabled by default. You can enable them alongside the stable repository.$ sudo yum-config-manager --enable docker-ce-edge
$ sudo yum-config-manager --enable docker-ce-test
You can disable the edge or test repository by running the
yum-config-manager
command with the --disable
flag. To re-enable it, use the --enable
flag. The following command disables the edge repository.$ sudo yum-config-manager --disable docker-ce-edge
Note: Starting with Docker 17.06, stable releases are also pushed to the edge and test repositories.
INSTALL DOCKER CE
-
Install the latest version of Docker CE, or go to the next step to install a specific version:
$ sudo yum install docker-ce
If prompted to accept the GPG key, verify that the fingerprint matches 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
, and if so, accept it.
Got multiple Docker repositories?
If you have multiple Docker repositories enabled, installing or updating without specifying a version in the yum install
or yum update
command always installs the highest possible version, which may not be appropriate for your stability needs.
Docker is installed but not started. The docker
group is created, but no users are added to the group.
-
To install a specific version of Docker CE, list the available versions in the repo, then select and install:
a. List and sort the versions available in your repo. This example sorts results by version number, highest to lowest, and is truncated:
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
The list returned depends on which repositories are enabled, and is specific to your version of CentOS (indicated by the .el7
suffix in this example).
b. Install a specific version by its fully qualified package name, which is the package name (docker-ce
) plus the version string (2nd column) up to the first hyphen, separated by a hyphen (-
), for example, docker-ce-18.03.0.ce
.
$ sudo yum install docker-ce-<VERSION STRING>
Docker is installed but not started. The docker
group is created, but no users are added to the group.
-
Start Docker.
$ sudo systemctl start docker
-
Verify that
docker
is installed correctly by running the hello-world
image.
$ sudo docker run hello-world
This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits.
Docker CE is installed and running. You need to use sudo
to run Docker commands. Continue to Linux postinstall to allow non-privileged users to run Docker commands and for other optional configuration steps.
Install the latest version of Docker CE, or go to the next step to install a specific version:
$ sudo yum install docker-ce
If prompted to accept the GPG key, verify that the fingerprint matches
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
, and if so, accept it.Got multiple Docker repositories?If you have multiple Docker repositories enabled, installing or updating without specifying a version in theyum install
oryum update
command always installs the highest possible version, which may not be appropriate for your stability needs.
Docker is installed but not started. The
docker
group is created, but no users are added to the group.
To install a specific version of Docker CE, list the available versions in the repo, then select and install:
a. List and sort the versions available in your repo. This example sorts results by version number, highest to lowest, and is truncated:
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
The list returned depends on which repositories are enabled, and is specific to your version of CentOS (indicated by the
.el7
suffix in this example).
b. Install a specific version by its fully qualified package name, which is the package name (
docker-ce
) plus the version string (2nd column) up to the first hyphen, separated by a hyphen (-
), for example, docker-ce-18.03.0.ce
.$ sudo yum install docker-ce-<VERSION STRING>
Docker is installed but not started. The
docker
group is created, but no users are added to the group.
Start Docker.
$ sudo systemctl start docker
Verify that
docker
is installed correctly by running the hello-world
image.$ sudo docker run hello-world
This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits.
sudo
to run Docker commands. Continue to Linux postinstall to allow non-privileged users to run Docker commands and for other optional configuration steps.