Share this content:
Docker has revolutionized the way software is packaged, shipped, and deployed, offering unparalleled flexibility and efficiency for developers and system administrators alike. For Ubuntu users looking to harness the power of containerization, installing Docker Engine is the crucial first step. Whether you’re a seasoned sysadmin or a newcomer to the world of containers, this guide will walk you through the step-by-step process of installing Docker Engine on Ubuntu. Join us as we unlock the potential of Docker and streamline your development and deployment workflows on Ubuntu.
Let’s start from here (https://docs.docker.com/engine/install/) that will drive you here (https://docs.docker.com/engine/install/ubuntu/)
Let’s follow the steps then:
sudo apt-get remove docker docker-engine docker.io containerd runc
Now let’s setup the repository
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
Add the GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Then setup the stable repository with $(lsb_release -cs) stable
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
And then….install
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
The second command gave me an error (related to my ubuntu version, the same will happen with Linux Mint)
Package docker-ce is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'docker-ce' has no installation candidate
E: Unable to locate package docker-ce-cli
E: Unable to locate package containerd.io
E: Couldn't find any package by glob 'containerd.io'
E: Couldn't find any package by regex 'containerd.io'
To overcome this issue we have to run this command instead
sudo apt-get install docker.io
The last command will install the docker engine and we can verify by typing
$ docker -v
Docker version 20.10.2, build 20.10.2-0ubuntu1~20.04.2
That’s great so far, however there is one last thing we should do because is not working as expected. In fact if we want to list the docker containers, or docker images we will get this error
docker ps: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json: dial unix /var/run/docker.sock: connect: permission denied
docker images: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/json: dial unix /var/run/docker.sock: connect: permission denied
This will not happen if we run the command as sudo
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
What we need to do for fixing this problem is to:
# register your user to the docker group
sudo usermod -aG docker ${USER}
# logout and login again
And now everything is magically working as expected (there is no magic in computer science…only spells)
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
Of course this is now empty, but in one the next articles we will see how to populate these.
Hope you enjoyed and was helpful if so, share and help us grow!