Install Docker CE on Debian/Ubuntu
Docker is the most popular and widely used container runtime. It enables you to package and run your applications in isolated containers in a single server or cluster of Linux servers orchestrated by Kubernetes and similar tools.
Docker Components / Terminologies
Below are commonly used terminologies in Docker ecosystem.
- Docker daemon: This is also called Docker Engine, it is a background process which runs on the host system responsible for building and running of containers.
- Docker Client: This is a command line tool used by the user to interact with the Docker daemon.
- Docker Image: An image is an immutable file that’s essentially a snapshot of a container. A docker image has a file system and application dependencies required for running applications.
- Docker container: This is a running instance of a docker image with an application and its dependencies. Each container has a unique process ID and isolated from other containers. The only thing containers share is the Kernel.
- Docker registry: This is an application responsible for managing storage and delivery of Docker container images. It can be private or public.
Install Docker CE on Debian 12/11/10
1) Install Dependency packages
Start the installation by ensuring that all the packages used by docker as dependencies are installed.
sudo apt update sudo apt -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
2) Add Docker’s official GPG key
Import Docker GPG key used for signing Docker packages.
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker-archive-keyring.gpg
3) Add the Docker repository
Add Docker repository which contain the latest stable releases of Docker CE.
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/debian \ $(lsb_release -cs) \ stable"
This command will add the line shown in /etc/apt/sources.list file.
4) Install Docker and Docker Compose
Update the apt package index.
sudo apt update
To install Docker CE on Debian, run the command:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
Start and enable docker service:
sudo systemctl enable --now docker
This installation will add docker group to the system without any users. Add your user account to the group to run docker commands as non-privileged user.
sudo usermod -aG docker $USER newgrp docker
Check docker and compose version.
docker version
Checking compose plugin:
docker compose version
Log out and log back in so that your group membership is re-evaluated.
exit
Install Docker Compose manually
Use the guide below to install latest Docker Compose on Debian.
https://computingforgeeks.com/how-to-install-latest-docker-compose-on-linux/
5) Test Docker installation
Run a test docker container:
$ docker run --rm -it --name test alpine:latest /bin/sh latest: Pulling from library/alpine 2408cc74d12b: Pull complete Digest: sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e457f36f271ab1acc53015037c Status: Downloaded newer image for alpine:latest / # cat /etc/os-release NAME="Alpine Linux" ID=alpine VERSION_ID=x.y.z PRETTY_NAME="Alpine Linux vx.y.z" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues" / # exit
6) Test Docker Compose installation
Create a test Docker Compose file.
vim docker-compose.yml
Add below data to the file.
version: '3' services: web: image: nginx:latest ports: - "8080:80" links: - php php: image: php:7-fpm
Start service containers.
docker-compose up -d
Show running Containers
docker-compose ps
Destroy containers
$ docker-compose stop $ docker-compose rm Going to remove vagrant_web_1, vagrant_php_1 Are you sure? [yN] y Removing vagrant_web_1 … done Removing vagrant_php_1 … done
You have successfully installed Docker on Debian Linux. Go through Official Docker documentation and Docker Compose documentation to learn more.
7) Docker & Compose CLI Commands
Below is a table that summarized common Docker CLI commands:
Command | Description |
---|---|
Docker Commands | |
docker version | Check Docker version and information |
docker info | Display Docker system-wide information |
docker pull <image> | Pull an image from a registry |
docker run <image> | Run a container from an image |
docker ps | List running containers |
docker ps -a | List all containers (including stopped ones) |
docker stop <container> | Stop a running container |
docker rm <container> | Remove a container |
docker images | List local images |
docker rmi <image> | Remove an image |
docker exec -it <container> <command> | Execute a command in a running container interactively |
docker logs <container> | Fetch the logs of a container |
Below is a table that summarized common Docker Compose CLI commands:
docker compose up | Start services defined in docker-compose.yml |
docker compose down | Stop and remove containers, networks defined in docker-compose.yml |
docker compose logs | View output from containers |
docker compose ps | List containers |
docker compose exec <service> <command> | Execute a command in a running service container |
docker compose build | Build or rebuild services |
docker compose restart <service> | Restart services |
docker compose stop <service> | Stop services |
Setup Docker UI (Optional)
If you need a UI management console for Docker hosts and containers, checkout Portainer.
Monitoring Docker containers
Monitoring Docker containers can be achieved by using Monitoring tools such as Netdata, Prometheus and Grafana. Below guide should also be helpful Check Container container metrics with Ctop.
0 Comments
Recommended Comments
There are no comments to display.