How to Install and Set Up Docker on Ubuntu 18.04
Docker is an open-source technology that is used to deploy applications through containers. It is a relatively new platform but is constantly updated and features a wide community of users.
Docker is a great tool that solves the age-old dilemma between developers and system administrators – while developers say that an app works on their machines, system admins worry about changing its libraries and requirements. With Docker, that is no longer a problem as it allows a more transparent method of communication.
It is essentially a virtual machine, that lets you run images. With Docker, you don’t need to worry about the requirements and that’s a perfect fit for many VPS projects.
Docker is highly popular among developers and can be installed without any problems in our favorite Linux distribution.
So with this in mind, let’s learn how to install Docker on Ubuntu 18.04.
Why do Users Install Docker on Ubuntu
Let’s do a quick rundown of the main benefits users experience when using Docker.
Docker is adaptable allowing users to carry out continuous testing, deploy and check outcomes as many times as they want, with as many implications. It becomes a laboratory in itself where a user can experiment with new commands to fill in the container and make it functional in various tasks.
This utility also supports multi-cloud computing, which means it is adaptable to applications that use cloud computing for saving data on servers. Think of services like Microsoft Azure, Puppet, Ansible, OpenStack and others.
Segregation in an isolated environment is another core aspect of Docker that attracts developers. In addition, docker works with OS sensitive mount points like /sys and /proc which are read-only mounts.
How to Install Docker on Ubuntu 18.04
Docker is not in the official Ubuntu 18.04 repositories. However, the installation process will not be complicated because of it. Let’s begin.
1. Access Your VPS
First, we have to connect to the server using SSH. If you’re having trouble, check out our PuTTY tutorial. Alternatively, you can use the integrated Hostinger browser terminal:
Pro Tip
Check out our KVM VPS plans if you want to run your application via Docker. With KVM virtualization, the software platform can support more applications than OpenVZ-based ones.
2. Update Your System
Then, the system needs to be updated to make it safer and reliable to install Docker. Run the following two commands:
sudo apt update sudo apt upgrade
3. Install Prerequisite Packages
Once we have updated the system, we need to install some necessary packages before we are ready to install Docker script. You can do this with the help of a single command:
sudo apt-get install curl apt-transport-https ca-certificates software-properties-common
To better understand the command above here is a short description of what it means:
- apt-transport-https – lets the package manager transfer files and data over https
- ca-certificates – lets the web browser and system check security certificates
- curl – transfers data
- software-properties-common – adds scripts to manage the software
Sugested Reading
Discover our guide to learn how to list installed packages on Ubuntu.
4. Add the Docker Repositories
Now we have to add the Docker repositories. This will make the installation process much easier. This enables us to use the officially supported method of the installation.
First, we add the GPG key, by entering the following command in the command line:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Next, we add the repository:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
After that, just update the repository information:
sudo apt update
Make sure you are installing from the Docker repo instead of the default Ubuntu repo with this command:
apt-cache policy docker-ce
A correct output will look like the following with different version numbers:
docker-ce: Installed: (none) Candidate: 16.04.1~ce~4-0~ubuntu Version table: 16.04.1~ce~4-0~ubuntu 500 500 https://download.docker.com/linux/ubuntubionic/stableamd64packages
As you can see, docker-ce is not installed, so we can move on to the next step.
5. Install Docker on Ubuntu 18.04
We are almost done. Use the apt command to install Docker:
sudo apt install docker-ce
6. Check Docker Status
Once the installation is complete, it is a good idea to check the status of the service:
sudo systemctl status docker
You can also check Docker version you’ve just installed by running this command:
docker-version
That’s it, you now know how to install Docker on Ubuntu 18.04. Easy, right? Let’s learn some Docker basics!
How to Start Using Docker on Ubuntu 18.04
Once Docker is installed, all we need to do is use the test image to check that everything is working as it should. Do this with the following command:
sudo docker run hello-world
Now, if we want to search for available images we just have to use the following command:
sudo docker search [search_query]
Just replace your query with the bracketed text.
For example, if we want to search for an image related to Debian, the command and output will look like this:
sudo docker search debian
Then, to download the image to our computer, we will use the name of the image along with the following command:
sudo docker pull [image_name]
For example, the command might look like this:
sudo docker pull debian
Normally, users will have several images in their system. We can list them with the command:
sudo docker images
The list will look much like the one you receive when you enter a search query.
After that, we can execute our image using the pull command and the Image ID.
sudo docker run -i -t [image]
There are options that extend the functionality of the command itself. For example, the -i option makes the image execution interactive. Or the -d option that executes it in the background.
Once we are running an image, we can end its execution by using the key combination CTRL+D.
Finally, if we want to use Docker without root privileges, we need to run the following command:
sudo usermod -aG docker $(whoami)
After that, restart the system, and the changes will be applied.
Using the Docker Command
The Docker command consists of passing options, commands, and arguments. The syntax will follow the following form:
docker [option] (command) [arguments]
To view all of the available subcommands use the following command:
docker
To view the options available with a command:
docker docker-subcommand --help
Here are Docker 18′ available subcommands:
docker attach – Attach local standard input, output, and error streams to a running container docker build – Build an image from a Dockerfile docker builder – Manage builds docker checkpoint – Manage checkpoints docker commit – Create a new image from a container's changes docker config – Manage Docker configs docker container – Manage containers docker context – Manage contexts docker cp – Copy files/folders between a container and local filesystem docker create – Create a new container docker diff – Inspect changes to files or directories on a container's filesystem docker events – Get real time events from the server docker exec – Run a command in a running container docker export – Export a container's filesystem as a tar archive docker history – Show the history of an image docker image – Manage images docker images – List images docker import – Import the contents from a tarball to create a filesystem image docker info – Display system-wide information docker inspect – Return low-level information on Docker objects docker kill – Kill one or more running containers docker load – Load an image from a tar archive or STDIN docker login – Log in to a Docker registry docker logout – Log out from a Docker registry docker logs – Fetch the logs of a container docker manifest – Manage Docker image manifests and manifest lists docker network – Manage networks docker node – Manage Swarm nodes docker pause – Pause all processes within one or more containers docker plugin – Manage plugins docker port – List port mappings or a specific mapping for the container docker ps – List containers docker pull – Pull an image or a repository from a registry docker push – Push an image or a repository to a registry docker rename – Rename a container docker restart – Restart one or more containers docker rm – Remove one or more containers docker rmi – Remove one or more images docker run – Run a command in a new container docker save – Save one or more images to a tar archive (streamed to STDOUT by default) docker search – Search the Docker Hub for images docker secret – Manage Docker secrets docker service – Manage services docker stack – Manage stacks docker start – Start one or more stopped containers docker stats – Display a live stream of container(s) resource usage statistics docker stop – Stop one or more running containers docker swarm – Manage Swarm docker system – Manage Docker docker tag – Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE docker top – Display the running processes of a container docker trust – Manage trust on Docker images docker unpause – Unpause all processes within one or more containers docker update – Update configuration of one or more containers docker version – Show the Docker version information docker volume – Manage volumes docker wait – Block until one or more containers stop, then print their exit codes
Can't memorize the commands?
Check out our Docker cheat sheet
Understanding Docker
Its main novelty is that it allows you to “package” an application or a set of services in containers. A Docker container is an instance of an application that contains all the libraries and components necessary for an application to work. From a practical point of view, a container is like a reduced virtual machine that functions independently from the operating system where a specific application or service is executed.
A Docker container is generated from an image that is the result of the packaged app or service. It can contain a complete operating system or pre-installed applications. That is to say, the container will start to work from an image.
There are many Docker images that we can use in our daily work cycle. We can also create our own images and further expand the possibilities of this great application.
Conclusion
Docker’s advantages make software deployment much more efficient and convenient than before. Thanks to this, developers will have no problems in knowing how your application will run outside the test environment. On the other hand, the system administrator will not have to struggle with system changes or looking for necessary libraries.
In this tutorial, we showed you the first steps to take with Docker. To unlock the true potential of this great utility, we recommend to check out the official documentation. Happy developing!