How to install Docker on Debian [15 Easy Steps ]

Written by

Reviewed by

Last updated: July 20, 2023

Expert verified

SVG Image

TL;DR

To install Docker on Debian, you can follow these steps:

  1. Update the package lists to ensure you have the latest available versions: $ sudo apt update
  2. Upgrade the installed packages to their latest versions for better compatibility and security: $ sudo apt upgrade
  3. Install the necessary packages to enable HTTPS access, which is required to securely communicate with Docker repositories: $ sudo apt install apt-transport-https ca-certificates curl software-properties-common
  4. Add Docker’s official GPG key to verify the integrity and authenticity of the downloaded Docker packages: $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  5. Add the Docker repository to Debian’s APT sources and update the package lists, allowing the system to recognize and fetch Docker packages: $ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null && sudo apt update
  6. Finally, install Docker, the containerization platform, along with its necessary components: $ sudo apt install docker-ce docker-ce-cli containerd.io

To effectively manage Docker on Debian, run it as a non-root user, check the Docker version and system status, and validate the installation by running a sample container. Addressing common errors such as connection issues, permissions, package availability, command not found, and socket access will ensure a smooth installation and usage experience with Docker on Debian.

Read the guide below to learn the step-by-step method to install Docker on Debian and common errors that can occur, and how to troubleshoot them.

Docker is an open-source platform that enables developers to package and distribute applications as self-contained containers. These containers encapsulate the application code, along with all its dependencies, into a single, portable unit. With Docker, you can easily deploy applications across different environments without worrying about compatibility issues or system dependencies. In this comprehensive guide, I will walk you through the process to install Docker on Debian, a highly popular and versatile Linux distribution. I will also discuss common errors that can occur when installing and using docker.

How to Install Docker on Debian

To install Docker on Debian, your system needs to meet the following requirements: Debian 9 (Stretch) or newer as the operating system, an x86-64 (64-bit) processor architecture, a Linux kernel version of 3.10 or newer, at least 2 GB of available memory (RAM), and sufficient disk space to accommodate Docker images and containers. To install Docker via the Docker repository, follow these steps:

  1. Open a Terminal window from the application menu.
opening terminal 14
  1. Run the following command to update the package lists:
<strong>$ sudo apt update</strong>
  1. This command will update the package lists to ensure you have the latest available versions.
updating system package list 5
  1. Once the package lists are updated, upgrade the installed packages to their latest versions:
<strong>$ sudo apt upgrade</strong>
  1. During the upgrade process, you might be prompted to confirm package updates. Enter Y to proceed with the upgrades.
upgrading system packages to the latest version
  1. Install the necessary packages to allow apt to use a repository over HTTPS:
<strong>$ sudo apt install apt-transport-https ca-certificates curl software-properties-common</strong>
  1. This command installs the required packages to securely communicate with repositories over HTTPS.
installing necessary packages to use repository
  1. Add Docker’s official GPG key by running the command:
<strong>$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg</strong>
  1. This command adds Docker’s GPG key to ensure the integrity and authenticity of the downloaded packages.
adding docker official GPG key
  1. To Add the Docker repository to Debian’s APT sources execute the command:
<strong>$ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null</strong>
  1. This command adds the Docker repository to your system’s APT sources, allowing you to install Docker.
adding docker repository to debian sources
  1. Update the package lists to include the Docker repository:
<strong>$ sudo apt update</strong>
  1. This command updates the package lists to include the Docker repository you added in the previous step.
updating package list to include docker repository 1
  1. Finally, install Docker using the following command:
<strong>$ sudo apt install docker-ce docker-ce-cli containerd.io</strong>
  1. This command installs Docker and its dependencies on your Debian system.
installing docker on debian

Configuration of Docker on Debian

After successfully installing Docker on Debian, there are a few post-installation steps to ensure optimal usage and security. By managing Docker as a non-root user, configuring network settings and firewalls, and verifying the installation, you can create a secure and efficient environment for deploying and managing containerized applications.

1. Managing Docker as a Non-Root User

Running Docker as a non-root user is recommended to enhance security and prevent unauthorized access to sensitive system resources. To manage Docker as a non-root user, add your user to the docker group using the following command:

<strong><code>$ sudo usermod -aG docker $USER</code></strong>

Log out of your session and log back in to apply the group changes.

adding user to docker group

2. Checking Docker Version and System Status

Verifying the Docker version and system status is crucial to ensure the correct installation and functioning of Docker on Debian. 

  1. To check the installed Docker version, open a Terminal and run the following command:
<strong>$ docker --version</strong>
  1. The command will display the installed docker version.
checking installed docker version
  1. Additionally, you can check the running status of Docker and obtain system information using the following command:
<strong>$ docker info</strong>
  1. The output will be:
viewing additional info about docker

3. Running a Sample Docker Container

To validate the Docker installation and familiarize yourself with basic container management, you can run a sample Docker container. Follow these steps to run a simple Hello, World! container:

  1. Open a Terminal and execute the following command:
<strong>$ docker run hello-world</strong>
  1. Docker will pull the hello-world image from the Docker Hub registry and run it as a container.
  2. If everything is set up correctly, you will see a message indicating that Docker is working correctly.
running a sample docker container

5 Common Errors When Installing and Using Docker on Debian

Docker is a powerful tool for containerization, but users may encounter errors during installation and usage. By being aware of these common errors and their solutions, you can troubleshoot Docker-related issues effectively, ensuring a smooth installation and usage experience on Debian. Here are five common errors that you may encounter:

  • 🐳 “Cannot connect to the Docker daemon” error: This error indicates that the Docker daemon is not running or inaccessible. To resolve it, start the Docker daemon using the command sudo service docker start and ensure that you have the necessary permissions to access the Docker socket. You can add your user to the docker group using sudo usermod -aG docker $USER and then log out and log back in to apply the changes.
  • 🚫 “Permission denied: docker.sock” error: This error suggests a permissions issue with the Docker socket. To fix it, add your user to the docker group using the command sudo usermod -aG docker $USER and then log out and log back in for the changes to take effect. This will grant your user the necessary permissions to access the Docker socket.
  • 📦 “Unable to locate package docker-ce” error: This error indicates that the Docker package could not be found in the repositories. Make sure you have added the Docker repository correctly and run sudo apt update before attempting to install Docker. This ensures that the package lists are up to date and include the Docker repository.
  • 🚩 “command not found” error: This error suggests that the Docker binary is not in your system’s PATH. Verify the Docker installation and ensure that the Docker binary is in the correct location (/usr/bin/docker). If not, you may need to add it manually to the PATH environment variable to make it accessible system-wide.
  • 🔒 “Permission denied while connecting to Docker daemon socket” error: This error occurs when the user does not have the necessary permissions to access the Docker socket. Run Docker commands with sudo, or add your user to the docker group using sudo usermod -aG docker $USER and log out and back in to resolve the issue. This grants the required permissions to access the Docker daemon socket.

In Conclusion

I hope this guide has provided you with a step-by-step approach to successfully install Docker on Debian. Additionally, I have highlighted some common errors that may occur during the installation process. Being aware of these potential pitfalls will enable you to troubleshoot any issues that may arise and ensure a smooth Docker experience.

To continue expanding your knowledge and skills in Docker, consider exploring the following articles: Dockerizing Applications, Building Microservices with Docker, and Securing Docker Containers. Keep exploring, stay curious, and embrace the vast potential of Docker and its ever-growing ecosystem.

Frequently Asked Questions

How can I uninstall a specific version of Docker on Debian?

If you need to uninstall a specific version of Docker on Debian, you can use the apt-get command with the --purge option followed by the package name. This ensures that all associated configuration files and dependencies are removed along with the Docker package. For example, to remove Docker version 19.03.5 on Debian Stretch, you would run the command: sudo apt-get --purge remove docker-ce=5:19.03.5~3-0~debian-stretch . This will uninstall the specified version of Docker and clean up any remnants from your system.

Can I install Docker on older versions of Debian?

While Docker officially supports Debian 9 (Stretch) or newer, it may be possible to install Docker on older versions. However, using a supported version of Debian is generally recommended to ensure compatibility, access to the latest features, and security updates. Older versions of Debian may have outdated dependencies or lack the necessary kernel features required by Docker. It is advisable to upgrade to a supported version of Debian if you are running an older release to ensure a smoother and more reliable Docker installation.

Is it possible to run Docker alongside other virtualization technologies, such as VirtualBox or VMware?

Yes, it is possible to run Docker alongside other virtualization technologies like VirtualBox or VMware. Docker uses containerization technology, which operates at the operating system level, while traditional virtualization technologies like VirtualBox or VMware use hardware virtualization. Running Docker within a virtual machine can be useful in certain scenarios, such as isolating Docker from the host system or working with different operating systems. However, running Docker within a virtual machine may introduce additional complexities, such as nested virtualization or configuring network settings to ensure communication between the host and the Docker containers.

What are the advantages of using Docker Compose alongside Docker on Debian?

Docker Compose is a powerful tool that complements Docker on Debian by simplifying the management and orchestration of multiple Docker containers. With Docker Compose, you can define complex multi-container applications, including their dependencies and network configurations, in a single YAML file. This allows for streamlined deployment and management of interconnected services. Docker Compose enhances collaboration among development teams, as the application stack can be shared and version-controlled easily. By using Docker Compose alongside Docker on Debian, you can create reproducible and scalable environments, making it simpler to manage complex applications and their dependencies.

Ojash

Author

Ojash is a skilled Linux expert and tech writer with over a decade of experience. He has extensive knowledge of Linux's file system, command-line interface, and software installations. Ojash is also an expert in shell scripting and automation, with experience in Bash, Python, and Perl. He has published numerous articles on Linux in various online publications, making him a valuable resource for both seasoned Linux users and beginners. Ojash is also an active member of the Linux community and participates in Linux forums.

Akshat

Reviewer

Akshat is a software engineer, product designer and the co-founder of Scrutify. He's an experienced Linux professional and the senior editor of this blog. He is also an open-source contributor to many projects on Github and has written several technical guides on Linux. Apart from that, he’s also actively sharing his ideas and tutorials on Medium and Attirer. As the editor of this blog, Akshat brings his wealth of knowledge and experience to provide readers with valuable insights and advice on a wide range of Linux-related topics.

Share this article
Shareable URL
Prev Post

How to Add User to Docker Group in 12 Easy Steps

Next Post

21 Easy Steps to Install Metasploit on Kali Linux

Leave a Reply

Your email address will not be published. Required fields are marked *

Read next