Installing Docker on CentOS 7

Updated on November 21, 2023
Installing Docker on CentOS 7 header image

Docker is an application that allows for deployment of software within virtual containers. It was written in the Go programming language. In this tutorial, you'll learn how to install Docker on CentOS 7.

Note that CentOS 7 requires at least 1 GB of RAM, which means that you will not be able to use the $5/mo Vultr plan.

Step 1: Updating all your software

First off, let's make sure we're running on a totally clean system. Update everything.

yum update

Step 2: Installing Docker

First, we will want to make certain there are no older versions of Docker installed. If you are certain there are none, you can skip the following command. If you are not sure, though, you should run the following to be safe:

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine

Now that the older versions are removed, we can install required packages. yum-utils will provide the yum-config-manager. The device-mapper-persistent-data and lvm2 packages are necessary for the devicemapper storage driver:

yum install -y yum-utils device-mapper-persistent-data lvm2

We can now set up the Docker repository:

yum-config-manager -y --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Now we are ready to install the latest version of Docker CE:

yum install docker-ce

Note: *To install a specific version, append -<VERSION> to the end of the install command. For instance, to install version 18.03, use the following:

yum install docker-ce-18.03.0.ce

Step 3: Create a user

If you don't want to run Docker as the root user, create a non-root user:

adduser user

Then, add this user to the Docker group:

usermod -aG docker user

Now start the Docker service:

systemctl start docker

Step 4: Test Docker

You can use the handy hello-world test to verify whether or not Docker will run on your system.

docker run hello-world

Upon success, this will return the welcome message:

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.
 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 Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/userguide/

Now that we know Docker is working, let's enable it to run when your system boots.

chkconfig docker on

Congratulations! You have now installed Docker. For further reading, see this guide where I explain how to create and use Docker containers.