access_time
hourglass_empty
person_outline

How to Install and Setup 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.

Limited time offer for VPS hosting. Check the discounts for up to 77% OFF!

Get Your Discount

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.

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. 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 tiles 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

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

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

Docker search results for the Debian query

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]         

[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

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!

The Author

Author

Edward S. / @edvardasstabinskas

Edward is Hostinger's copywriter. He's an expert communicator with years of experience in IT as a writer, marketer, and Linux enthusiast. IT is a core pillar of his life, personal and professional. Edward's goal is to encourage millions to achieve an impactful online presence. He also really loves dogs, guitars, and everything related to space.

Related tutorials

Leave a reply

Comment*

Name*

Email*

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

Become a part of Hostinger now!

More in VPS
How to Install phpMyAdmin on CentOS 7
Close