Docker application is used to manage application processes in container. Using docker you can build, test and deploy applications that can run anywhere as portable and self-sufficient containers. In this tutorial, we will learn how to install Docker on Debian 9 system.
Before you start install, you must have non-root user account with sudo privileges.
Install Docker on Debian
We will install latest Docker package on Debian system from the Docker’s repositories. Following are the steps to install docker on Debian.
At first, update the package manager index list and upgrade the system to latest using below:
sudo apt update && sudo apt upgrade
We also need to install dependencies which are required to enable Docker repository.
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Now Import the GPG key for repository using following curl command:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
After that, add Docker repository to your system’s software repository list by typing:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Now Docker repository is enabled so update apt package manager index list again using below command:
sudo apt update
Install latest version of Docker Community Edition using below:
sudo apt install docker-ce
Once the installation completed the service of docker will start automatically. You can check it by issuing below command:
sudo systemctl status docker
● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2019-07-02 08:36:43 EDT; 12min ago Docs: https://docs.docker.com Main PID: 4485 (dockerd) Tasks: 8 CGroup: /system.slice/docker.service └─4485 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
You also can check the version of Docker using below command:
Docker version 18.09.7, build 2d0083d
Executing docker command without sudo
sudo privileges to run. If you want to run docker command without
sudo then you need to add your user to
docker group. The docker group is created at the installation of docker CE package.
You should run below command to add user to docker group:
sudo usermod -aG docker $USER
After that, Log out and log back in to apply membership.
Run the below command to verify that you have added docker group :
tecnstuff sudo docker
How to Use Docker Command
Below is the basic syntax for the
docker [option] [subcommand] [arguments]
You can get list of all docker subcommands by issuing below command:
If you need any help about subcommand then you can use following command:
docker docker-subcommand --help
You can update docker new version when it is released. You just have to run below commands:
sudo apt update sudo apt upgrade
Uninstall process of Docker is same as any other packages installed using apt:
sudo apt purge docker-ce
sudo apt autoremove
Working with Docker Images
Docker images are as a snapshot of a Docker container. Docker containers are built from Docker Images and these images are available on Docker Hub. It is a cloud-based registry service which managed by Docker Company.
Search Docker Images
Use search sub command to search an image on Docker Hub registry.
For example, you can search for an Ubuntu image using below command:
docker search ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys… 7917 [OK]
dorowu/ubuntu-desktop-lxde-vnc Ubuntu with openssh-server and NoVNC 193 [OK]
rastasheep/ubuntu-sshd Dockerized SSH service, built on top of offi… 156 [OK]
ansible/ubuntu14.04-ansible Ubuntu 14.04 LTS with ansible 93 [OK]
ubuntu-upstart Upstart is an event-based replacement for th… 87 [OK]
neurodebian NeuroDebian provides neuroscience research s… 50 [OK]
ubuntu-debootstrap debootstrap --variant=minbase --components=m… 38 [OK]
1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 36 [OK]
nuagebec/ubuntu Simple always updated Ubuntu docker images w… 23 [OK]
tutum/ubuntu Simple Ubuntu docker images with SSH access 18
i386/ubuntu Ubuntu is a Debian-based Linux operating sys… 13
ppc64le/ubuntu Ubuntu is a Debian-based Linux operating sys… 12
1and1internet/ubuntu-16-apache-php-7.0 ubuntu-16-apache-php-7.0 10 [OK]
1and1internet/ubuntu-16-nginx-php-phpmyadmin-mariadb-10 ubuntu-16-nginx-php-phpmyadmin-mariadb-10 6 [OK]
eclipse/ubuntu_jdk8 Ubuntu, JDK8, Maven 3, git, curl, nmap, mc, … 6 [OK]
codenvy/ubuntu_jdk8 Ubuntu, JDK8, Maven 3, git, curl, nmap, mc, … 4 [OK]
darksheer/ubuntu Base Ubuntu Image -- Updated hourly 4 [OK]
1and1internet/ubuntu-16-apache ubuntu-16-apache 3 [OK]
1and1internet/ubuntu-16-nginx-php-5.6-wordpress-4 ubuntu-16-nginx-php-5.6-wordpress-4 3 [OK]
1and1internet/ubuntu-16-sshd ubuntu-16-sshd 1 [OK]
pivotaldata/ubuntu A quick freshening-up of the base Ubuntu doc… 1
1and1internet/ubuntu-16-healthcheck ubuntu-16-healthcheck 0 [OK]
pivotaldata/ubuntu-gpdb-dev Ubuntu images for GPDB development 0
smartentry/ubuntu ubuntu with smartentry 0 [OK]
You can see above all the images with versions. In addition, if the version is not specified then docker picks latest version which is available.
Download Docker Images
You can download official build of image using
pull command along with docker command. For example you would like to download Ubuntu 18.04 image, then you should issue below command:
docker image pull ubuntu
It will show output as below:
Using default tag: latest latest: Pulling from library/ubuntu 6b98dfc16071: Pull complete 4001a1209541: Pull complete 6319fc68c576: Pull complete b24603670dc3: Pull complete 97f170c87c6f: Pull complete Digest: sha256:5f4bdc3467537cbbe563e80db2c3ec95d548a9145d64453b06939c4592d67b6d Status: Downloaded newer image for ubuntu:latest
You can list all downloaded images by typing:
docker image ls
Remove Docker Image
If you want to remove downloaded docker image then you can remove using below command:
docker image rm ubuntu
Above command will remove ubuntu image from your system.
Docker container is an instance of Docker Image. A container represents a runtime for a single application, process, or service. In simple way we can say Docker image is a class and Docker container as an instance of a class. Using
docker container command we can manage operations on a container.
Start Docker Container
Below command will start a Docker container which is an instance of an image. If you don’t have the image locally, it will download it first:
docker container run ubuntu
In above command we have not provided any command so the container will bootup and ran an empty command and will exit at last.
You can interact with Ubuntu image using
-it switch. Run below command to start an interactive container:
docker container run -it ubuntu /bin/bash
As you can see above the command prompt changed. Now you can execute command and interact with Ubuntu container directly.
List Docker Containers
You can get list of all active docker containers using below command:
docker container ls
It will list all the active containers and if no one container is running then output will be empty.
Also you can list active and inactive containers issuing below command:
docker container ls -a
Remove Docker Containers
You can remove docker containers using container id. So just copy container id and put it after container rm in below command:
docker container rm r70023ag870r
You have learned how to install and use of docker on Debian 9 system. Also you learned how to download Docker images and manage Docker containers. To learn more about Docker check out the official Docker documentation.
If you have any question or suggestion, please leave a comment below.