How to Install Docker and Pull Images for Container Deployment
Updated by Linode Contributed by Jack Wallen
In this guide, you’ll install Docker and pull down images that can be deployed as containers.
Before You Begin
Familiarize yourself with our Getting Started guide and complete the steps for setting your Linode’s hostname and timezone.
Update your system (this example uses Ubuntu 16.04):
apt update && apt upgrade
NoteThe steps in this guide require root privileges. Be sure to run the steps below asroot
or with thesudo
prefix. For more information on privileges, see our Users and Groups guide.
Install Docker
These steps install Docker Community Edition (CE) using the official Ubuntu repositories. To install on another distribution, or to install on Mac or Windows, see the official installation page.
Remove any older installations of Docker that may be on your system:
sudo apt remove docker docker-engine docker.io
Make sure you have the necessary packages to allow the use of Docker’s repository:
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg
Add Docker’s GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Verify the fingerprint of the GPG key:
sudo apt-key fingerprint 0EBFCD88
You should see output similar to the following:
pub rsa4096 2017-02-22 [SCEA] 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid [ unknown] Docker Release (CE deb)
sub rsa4096 2017-02-22 [S] Add the
stable
Docker repository:sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Note
For Ubuntu 19.04, if you get an
E: Package 'docker-ce' has no installation candidate
error, this is because the stable version of docker is not yet available. Therefore, you will need to use the edge / test repository.sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable edge test"
Update your package index and install Docker CE:
sudo apt update sudo apt install docker-ce
Add your limited Linux user account to the
docker
group:sudo usermod -aG docker $USER
Note
After entering theusermod
command, you will need to close your SSH session and open a new one for this change to take effect.Check that the installation was successful by running the built-in “Hello World” program:
docker run hello-world
Start and Enable Docker
Start and enable the Docker process to run on boot:
systemctl start docker
systemctl enable docker
Pull Docker Images
The first thing you are going to want to do is pull down an image to be used as the basis for your Docker containers. Docker Hub is the default registry from which to pull images.
Use the
images
command to check what images already exist on your Linode. This example shows that no images are installed:docker images
Pull the nginx web server, using the
docker pull
command:docker pull nginx
This will pull the latest official nginx Docker image
If you run
docker images
again, you’ll see the nginx image:
Find Unofficial nginx Images
Alternatively, if you don’t want to install the official nginx image, use docker search
to find other nginx images:
docker search nginx
This command will list all variant images, along with a respective description, and whether or not they are official.
Use docker pull
to pull one of the other images:
docker pull blacklabelops/nginx
Ready to Keep Going?
At this point, you should know how to install Docker and pull down images with which you can then deploy containers. Use man docker
to dive into the manual or visit our other Docker Guides to learn more.
More Information
You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.
Join our Community
Find answers, ask questions, and help others.
This guide is published under a CC BY-ND 4.0 license.