A step-by-step guide to install Docker on your favorite OS.
Docker is an open-source project that supports building, testing, deploying, and managing applications in self-sufficient, portable containers. Generally, the container images have all the resources that an application requires to run.
Today, Docker has become a popular tool for deploying and managing applications as containers while overcoming compatibility issues. The technology allows you to install the apps and services on a wide range of computers regardless of the underlying hardware and operating systems. Consequently, you can run such images on different computer systems as long as Docker is installed. Typical images include Nginx, MariaDB, WordPress, and others.
Docker is different than traditional VM.
In this tutorial, you will learn how to install the Docker on the following operating systems.
- Ubuntu
- Debian
- CentOS
- Windows
In most cases, the steps are similar for a particular OS, but there might be some slight variations across different versions.
Docker installation methods
Generally, there are three main Docker installation methods, the choice of which depends on the situation and environment, as explained below.
- Using the Docker repositories: – Easy to install and upgrade method recommended for most online installations.
- Manual download, installation, and upgrades: – suitable for offline computers that have no access to internet
- Using automated scripts: for development and testing environments.
In this guide, we will discuss the installation using the Docker repositories. You will learn how to install and upgrade the tool from the official Docker repositories. Generally, you can also download the files from the operating system’s repository, but this may not have the latest versions hence the need to use the official Docker source whenever possible.
Install Docker on Ubuntu
For this article, we will use Ubuntu 18.04.
Prerequisites
- Ubuntu 18.04
- sudo user
Step 1: Update the local database
Before installation, start by updating the existing list for packages
sudo apt update
Step 2: Install dependencies that support https
Install packages that will allow apt to transfer files over https
sudo apt install apt-transport-https ca-certificates curl software-properties-common
This is what each command does;
apt-transport-https
: Allow apt to transfer files and data over httpsca-certificates
: make the computer or browser to check security certificatescurl
: A file transfer toolsoftware-properties-common
: adds software management scripts
Step 3: Add Docker’s GPG Key
The next would be to add the GPG key – a security feature that ensures the installation files are authentic.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
Step 4: Install the Docker Repository
In this step, use the command below to add the Docker repository to the apt
sources.
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
Step 5: Update Repositories
Update the database with the Docker packages from the repo you have just added
sudo apt update
To ensures that you are running the installation from the official Docker repository, run the command
apt-cache policy docker-ce
This should give the following output
Output of apt-cache policy docker-ce
docker-ce:
Installed: (none)
Candidate: 5:19.03.5~3-0~ubuntu-bionic
Version table:
5:19.03.5~3-0~ubuntu-bionic 500
500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
5:19.03.4~3-0~ubuntu-bionic 500
500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
5:19.03.3~3-0~ubuntu-bionic 500
From the output, you will notice that the docker-ce
is not yet installed. However, the output will show the target operating system and the version number of the Docker. Please note that version numbers may differ depending on the time of installation.
Step 6: Install Latest Version of Docker
Once confirmed, use the following command to install Docker.
sudo apt install docker-ce
This will install Docker, start the daemon and enable it to automatically start on boot. To confirm that the Docker is active and working, run;
sudo systemctl status docker
If installed and running successfully, the command will provide the following output
$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e
Active: active (running) since Sat 2019-12-14 07:46:40 UTC; 50s ago
Docs: https://docs.docker.com
Main PID: 2071 (dockerd)
Tasks: 8
CGroup: /system.slice/docker.service
└─2071 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/contain
This part of the output shows that the installation was successful and that Docker is active and running.
Installing Docker on CentOS
Prerequisites
- A stable version of CentOS 7
- Sudo user
The best practice is to use the latest version of the Docker installation package from the official Docker repository.
Step 1: Update package database
The first step is to update the package database with the command.
sudo yum update
Step 2: Add Docker Repository and install Docker
After updating, we will add the official Docker repository, download, and install the latest version of Docker. To do this, use the command;
curl -fsSL https://get.docker.com/ | sh
Step 3: Start Docker and check its version
Once the installation is complete, start the Docker daemon
sudo systemctl start docker
Confirm that Docker is running
sudo systemctl status docker
This should provide the following output
docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2019-12-09 09:54:50 UTC; 7s ago
Docs: https://docs.docker.com
Main PID: 9194 (dockerd)
Tasks: 8
Memory: 44.0M
CGroup: /system.slice/docker.service
└─9194 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/cont...
Installing Docker on Debian
To ensure that you get the latest version, install from the official Docker repository.
Prerequisites
- Debian 9 running
- Sudo user
Step 1: Update system
First, update the list of installed packages.
sudo apt update
Step 2: Install the packages required to run apt to over Https
sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
Step 3: Add GPG key
Now we need to add the GPG key from Docker to our Debian system. This ensures that the downloads are valid.
To add the GPG key for the official Docker repository, run
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
Step 4: Add the Docker repository to the APT sources
In this step, you will add the Docker repository to the apt sources.
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Step 5: Update package database
We are now going to update the package database with the Docker packages from the repo you have just added.
sudo apt update
Step 6: Verify the installation source
The command below ensures that you are installing the Docker from the official Docker repo instead of Debian’s which may be outdated.
apt-cache policy docker-ce
This will return an output similar to the one below. However, Docker’s version number may vary.
Installed: (none)
Candidate: 5:19.03.5~3-0~debian-stretch
Version table:
5:19.03.5~3-0~debian-stretch 500
500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
5:19.03.4~3-0~debian-stretch 500
500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
5:19.03.3~3-0~debian-stretch 500
500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
5:19.03.2~3-0~debian-stretch 500
500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
..
..
..
17.03.1~ce-0~debian-stretch 500
500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
17.03.0~ce-0~debian-stretch 500
500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
As can be seen, the docker-ce is not yet installed. The output shows that the installation is from the official Docker repository for Debian 9 (stretch).
Step 7: Install Docker
We are now ready to install Docker using the command below.
sudo apt install docker-ce
This will install Docker, start the engine and configure it to always start on boot. After the installation is complete, verify that it is running.
sudo systemctl status docker
If installed successfully, the output will indicate that the service is active and running.
Output
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e
Active: active (running) since Mon 2019-12-09 11:48:32 UTC; 41s ago
Docs: https://docs.docker.com
Main PID: 17486 (dockerd)
CGroup: /system.slice/docker.service
└─17486 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/contain
Install Docker on windows
Let’s see how to install Docker enterprise edition on Windows server 2016.
Step 1: Install the Docker Powershell module
Open the Window’s PowerShell command prompt with an administrative account, and use the command below to install the DockerMsftProvider
module. This is a Docker Powershell module for finding, installing and updating Docker images.
If using the administrator account, the command will appear as;
PS C:\Users\Administrator> install-module -name DockerMsftProvider -Force
This will give the output as below.
NuGet provider is required to continue
PowerShellGet requires NuGet provider version ‘2.8.5.201’ or newer to interact with NuGet-based repositories. The NuGet
provider must be available in ‘C:\Program Files\PackageManagement\ProviderAssemblies’ or
‘C:\Users\Administrator\AppData\Local\PackageManagement\ProviderAssemblies’. You can also install the NuGet provider by
running ‘Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force’. Do you want PowerShellGet to install
and import the NuGet provider now?
[Y] Yes [N] No [S] Suspend [?] Help (default is “Y”): y
Type Y for Yes
Step 2 Install Docker Package
After the module is in place, we are now ready to install the Docker package.
PS C:\Users\Administrator>Install-Package Docker –Providername DockerMsftProvider –Force
This will install the Docker package on the computer but it will not start the service. As such, you must restart the computer to enable the container feature.
PS C:\Users\Administrator>Restart-Computer
After the restart, verify the installation and version by running
PS C:\Users\Administrator>docker-version
Output
Client: Docker Engine – Enterprise
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 2ee0c57608
Built: 11/13/2019 08:00:16
OS/Arch: windows/amd64
Experimental: false
Server: Docker Engine – Enterprise
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.24)
Go version: go1.12.12
Git commit: 2ee0c57608
Built: 11/13/2019 07:58:51
OS/Arch: windows/amd64
Experimental: false
PS C:\Users\Administrator>
To test Docker with a typical image, run the command
docker run hello-world:nanoserver-sac2016
If installed and running properly, the command will give the following output.
PS C:\Users\Administrator> docker run hello-world:nanoserver-sac2016
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.
(windows-amd64, nanoserver-sac2016)
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 a Windows Server container with:
PS C:> docker run -it mcr.microsoft.com/windows/servercore powershell
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
Please note that you must use a windows container image by default. In case you need to run Linux container images, use the Docker Daemon in the experimental mode, which is available in the desktop version.
Conclusion
I hope now you know how easy is to install Docker. Once you installed, play around with it to get familiarize and if you need some video-based training then check out this course.