Docker is an open-source project that provides an open platform for developers and sysadmins to build, package, and run applications anywhere as a lightweight container. Docker automates the deployment of applications inside software containers. Docker development was started by Solomon Hykes as an internal project at dotCloud, an enterprise PaaS (platform as a service), but the software is now maintained by the docker community and Docker Inc. More about Docker can be found in the documentation here https://docs.docker.com/.

Docker requires a 64-bit architecture for installation and Linux Kernel must be 3.10 or newer. I will use Ubuntu 18.04 LTS (Bionic Beaver) here with kernel version 4.15.0.

Things to know about Docker

Here the basic terms in the docker world that you should know.

Docker Images

A Docker image is the basic template for a Docker container. An image usually contains the OS and applications that are readily installed. The Docker image is used to run the container, you can find many images with a variety of operating systems and software that has been installed in the Docker Hub https://hub.docker.com/.

Docker Container

Docker Container is an image which can be read and written to that runs on top of the Docker image. Docker is using the union-file-system as backend for the container; any changes that are made in the container will be saved in a new layer above the base image. The container is the layer where we install applications. Each container runs isolated in the host machine and therefore, provides a secure application platform.

Docker Registry

Docker registry is a repository for Docker images. It provides public and private repositories. The public Docker registry is called the Docker Hub. Here we can push and pull our own images.

Installing Docker on Ubuntu 18.04

In this section, you will be guided to install docker. Before you install the software, check the kernel version and the OS architecture. The next commands have to be run as root user. Run this command to become root on your Ubuntu system.

sudo su

Then run uname -a to check the version of the currently running Linux kernel.

uname -a

You can see that I`m using the kernel version 4.15.0 with a 64Bit Kernel (x86_64).

To check the Ubuntu version, run:

cat /etc/lsb-release

The command shows that the Ubuntu version is 18.04.

It is recommended to update Ubuntu before you install new software. Run the following command to fetch the latest updates from the Ubuntu repository and install them.

sudo apt-get updatesudo apt-get upgrade

Now we're ready to install Docker on to the server.

To install Docker, we can use the packages from the 'Ubuntu Repository' or using packages from the 'Docker Repository'.

Install Docker from Ubuntu Repository

If you want to install docker version from the Ubuntu repository, you can run the apt command below.

sudo apt install docker.io

Wait until the installation has been completed, then you can start Docker and add it to the boot time with the systemctl command:

systemctl start dockersystemctl enable docker

You might also want to check the docker version:

docker --version

And you will get the docker 17.12 installed from the Ubuntu Repository.

Install Docker from the Docker Repository

Before installing the docker-ce from the Docker repository, install some dependencies using apt command as shown below.

Now you can see the container running in the background by using the following command:

docker ps

or if you want to see the logs result from that bash command you can use the command:

docker logs NAMES/ContainerID

How can I access the shell of container that runs in the background mode?

This command will connect you to the shell of the container:

docker exec -i -t NAMES/ContainerID /bin/bash

Enter a running Docker container.

You can see the hostname and the container ID are equal, this means that you are inside of the container shell. When you type `exit` on that shell you will leave that shell but the container is still running.

Another command that you will use often is:

docker stop NAME/ContainerID

This will stop the container without deleting it, so you can start it again with the command:

docker start NAME/ContainerID

If you like to remove the container, stop it first and then remove it with the command:

docker rm NAME/ContainerID

This is just a short introduction on the installation and basic usage of Docker on Ubuntu, you can find the detailed Docker documentation page here.

Conclusion

Docker is an open source container virtualization platform which helps developers to deploy their applications and system administrators to manage applications in a safe virtual container environment. Docker runs on the Intel / AMD 64-bit architecture and kernel should be higher 3.10 version. With Docker, you can build and run your application inside a container and then move your containers to other machines running docker without any worries.

About Muhammad Arul

Muhammad Arul is a freelance system administrator and technical writer. He is working with Linux Environments for more than 5 years, an Open Source enthusiast and highly motivated on Linux installation and troubleshooting. Mostly working with RedHat/CentOS Linux and Ubuntu/Debian, Nginx and Apache web server, Proxmox, Zimbra Administration, and Website Optimization. Currently learning about OpenStack and Container Technology.