This guide will demonstrate how to install and configure docker on a linux distribution.
- Getting started
- Uninstall old versions
- Install Docker
- Post-installation steps for Linux
- Uninstall Docker Engine
- Make sure you meet the prerequisites from the official docs.
- Uninstall old versions
Older versions of docker were called docker
, docker.io
or docker-engine
. If these are installed, uninstall them:
sudo apt-get remove docker docker-engine docker.io containerd runc
It's OK if apt-get reports that none of these packages are installed.
The contents of /var/lib/docker
, including images, containers, volumes and networks, are preserved. If you want a clean installation refer to the uninstall Docker Engine section.
Before installing Docker Engine, it is necessary to set up the Docker repository first. Afterward, it is possible to install and update Docker from the repository. Make sure old versions of Docker are uninstalled before installation (Refer to uninstall old versions).
Update your system and install packages to allow apt
to use a repository over HTTPS:
$ sudo apt update
$ sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
Add Docker's official GPG key (Check out the official docs to get the right key for your linux distribution):
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Use the following command set up the stable repository:
echo \
"deb [arch=$(dpkg --print-architecture) \
signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Update the apt
index and install the latest version of Docker Engine, containerd and Docker Compose:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Verify that Docker Engine 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 a message and exits.
This section is about the steps that can be performed after installing Docker Engine so that it works better with Linux.
⚠️ Warning: Thedocker
group grants privileges equivalent to theroot
user. For details on how this impacts security in your system, see Docker Daemon Attack Surface
To create the docker
group and add your user to it, run the following commands:
Create the docker
group:
sudo groupadd docker
Add your user to the docker
group:
sudo usermod -aG docker $USER
Now log out and log back in so that your group membership is re-evaluated. If you are on Linux, you can also run the following command to activate the changes to groups:
newgrp docker
Verify that you can run docker
commands without sudo
:
docker run hello-world
This command downloads a test image and runs it in a container. When the container runs, it prints a message and exits.
To automatically start Docker and Containerd on boot:
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
To disable this behavior, use disable
instead:
sudo systemctl disable docker.service
sudo systemctl disable containerd.service
If you want to uninstall Docker Engine, CLI, Containerd and Docker Compose completely:
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin
After that 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
sudo rm -rf /var/lib/containerd