Docker

Getting Started with Docker: Install Docker Engine

Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers.

A container is software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, secure, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries, and settings.

The software that hosts the containers is called Docker Engine.

Let’s go through you the steps to install Docker Engine. We’re using the 64-bit version of Ubuntu Impish 21.10. If you encounter problems with older releases, please share in the Comments box below.

1. Uninstall old versions

At the shell type the command:

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


2. Update your system

Enter the command:

$ sudo apt update && sudo apt upgrade


3. Install dependencies

We’ll use apt again to perform this step:

$ sudo apt install apt-transport-https curl

Depending on the version of Ubuntu you’re running you may also need to install ca-certificates and software-properties-common but these packages are already present on Ubuntu 21.10.


4. Add Docker’s GPG key

Add the GPG key for the official Docker repository to your system:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg


5. Add the Docker repository to APT sources

$ echo "deb [arch=$(dpkg --print-architecture) 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


6. Update the package database

Update the package database with the Docker packages from the added repository

$ sudo apt update


7. Check we are installing from the Docker repository

Make sure you install from the Docker repository instead of the default Ubuntu repo:

$ apt-cache policy docker-ce

Here’s the output of the command.

sde@ganges:~$ apt-cache policy docker-ce
docker-ce:
  Installed: (none)
  Candidate: 5:20.10.10~3-0~ubuntu-impish
  Version table:
     5:20.10.10~3-0~ubuntu-impish 500
        500 https://download.docker.com/linux/ubuntu impish/stable amd64 Packages

8. Install Docker Engine

Install the latest version of Docker Engine with the command:

$ sudo apt install docker-ce

As the output shows, containerd.io, docker-ce-cli and other packages will also be installed.

sde@ganges:~$ sudo apt install docker-ce
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  containerd.io docker-ce-cli docker-ce-rootless-extras docker-scan-plugin git git-man liberror-perl libslirp0 pigz slirp4netns
Suggested packages:
  aufs-tools cgroupfs-mount | cgroup-lite git-daemon-run | git-daemon-sysvinit git-doc git-email git-gui gitk gitweb git-cvs
  git-mediawiki git-svn
The following NEW packages will be installed
  containerd.io docker-ce docker-ce-cli docker-ce-rootless-extras docker-scan-plugin git git-man liberror-perl libslirp0 pigz
  slirp4netns
0 to upgrade, 11 to newly install, 0 to remove and 0 not to upgrade.
Need to get 99.3 MB of archives.
After this operation, 423 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Docker should now be installed, the daemon started, and the process enabled to start on boot.


Articles in this series:

Getting Started with Docker
Installing Docker EngineLet's start with the basics. We install Docker Engine on Ubuntu
Run Docker without sudoRun Docker without the security privileges of root
CommandsA brief overview of the 40 Docker commands
ImagesA Docker image is a file used to execute code in a Docker container
Portainer CEInstall this interface to manage different Docker environments
DryInteractive CLI for Docker containers
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.