How to install Docker Debian [3 Best Methods ]

TL;DR

To install Docker 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

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

Installing Docker on Debian might seem challenging, especially if you’re new to it. But don’t worry, In this post, I’ll guide you through step-by-step methods to install Docker on Debian system, whether you prefer using the official Docker repository, the Debian repository, or even Snap.

You’ll also find instructions on uninstalling Docker and troubleshooting common errors. By the end of this guide, you’ll have Docker up and running smoothly, ready to help you containerize your applications with ease. Let’s get started and make Docker work for you!

What is Docker and Why Install Docker Debian

Docker is a platform that makes it easier to develop, ship, and run applications inside containers. Containers are lightweight, portable, and self-sufficient environments that include everything needed to run an application, such as the code, runtime, libraries, and settings. This means you can run the same application in different environments without worrying about compatibility issues.

Benefits of Installing Docker:

  • Portability: Docker allows you to package your application and its dependencies into a container, ensuring it runs consistently across different environments. You can move containers between different machines or cloud providers without any compatibility issues.
  • Efficiency: Containers share the host system’s kernel and resources, making them lightweight and efficient. You can run multiple containers on a single machine with minimal overhead compared to traditional virtual machines.
  • Scalability: Docker makes it easy to scale applications. You can quickly spin up multiple container instances to handle increased load, and tools like Docker Swarm or Kubernetes can manage scaling automatically.
  • Isolation: Each Docker container operates in isolation, allowing you to run different applications on the same host without conflicts. This isolation helps maintain a clean and predictable development environment.
  • Consistency: With Docker, your development, testing, and production environments can be identical. This eliminates the “it works on my machine” problem and ensures consistent behavior across all stages of the application lifecycle.

How to Install Docker in Debian

To install Docker on Debian, update your system with sudo apt-get update and sudo apt-get upgrade. Install necessary packages with sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release. Add Docker’s GPG key and repository, then update again with sudo apt-get update. Finally, install Docker with sudo apt-get install docker-ce docker-ce-cli containerd.io and verify with sudo docker run hello-world.

Continue reading for three different methods to Debian install Docker:

Prerequisites

Before you Docker install Debian, you need to make sure your system meets certain requirements and is up to date. Let’s go through the prerequisites step-by-step.

Minimum System Requirements

  • 64-bit processor: Docker requires a 64-bit architecture to function.
  • 2 GB RAM: Docker can run with 2 GB of RAM, but performance might be limited.

Recommended System Specifications

  • 4 GB RAM or more: This allows Docker to run smoothly and handle multiple containers efficiently.
  • 20 GB free disk space: Ensure you have enough space for Docker images and containers.

Updating Debian System

Keeping your Debian system updated is crucial for a smooth Docker installation. Updated systems are less likely to encounter compatibility issues and security vulnerabilities.

1. Installing Docker Using the Official Docker Repository

  1. Open a Terminal window from the application menu.
opening terminal 14
  1. Run the following command to update the package lists:
$ sudo apt update
  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:
$ sudo apt upgrade
  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:
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
  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:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  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:
$ 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
  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:
$ sudo apt update
  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 on Linux Debian using the following command:
$ sudo apt install docker-ce docker-ce-cli containerd.io

This command installs Docker and its dependencies on your Debian system.

installing docker on debian

2. Installing Docker Using Debian Repository

Installing Docker from the Debian repository is a straightforward method that uses the native package manager. This version may lag behind the latest release but is tested for compatibility with Debian.

  1. Before installing Docker, update the package index to ensure you have access to the latest package lists.
sudo apt-get update
updating system package list
  1. Install Docker using the docker.io package.
sudo apt-get install -y docker.io
installing docker using docler io package
  1. Check the Docker version and run a test container to verify the installation.
sudo docker --version

sudo docker run hello-world
verifing the docker installtion

3. Installing Docker Using Snap

Snap is a package management system that makes it easy to install software across various Linux distributions. This method is beneficial for users who prefer using Snap for application management.

  1. Install Snapd, the package manager for Snap applications.
sudo apt-get update

sudo apt-get install -y snapd
installing snapd package manager
  1. Install Docker from the Snap store.
sudo snap install docker
installing docker from snap store
  1. Check the Docker version and run a test container to confirm the installation.
sudo docker --version

sudo docker run hello-world
verifing the docker installtion 1

How to Uninstall Docker on Debian

If you need to uninstall Docker from your Debian system, follow these steps to remove Docker and its associated components completely.

  1. Before uninstalling Docker, stop any running containers to avoid potential issues.
sudo docker stop $(sudo docker ps -aq)
stopping running doccker containers
  1. After stopping the containers, remove them to clean up your system.
sudo docker rm $(sudo docker ps -aq)
removing docker containers from the system
  1. Uninstall Docker Engine, CLI, and Containerd packages.
sudo apt-get purge -y docker-ce docker-ce-cli containerd.io
uninstalling docker engine cli and packages
  1. Remove Docker’s configuration files, images, volumes, and other related directories.
sudo rm -rf /var/lib/docker

sudo rm -rf /etc/docker

sudo rm -rf /var/run/docker
deleting docker related directories configration files
  1. Use the autoremove command to clean up any dependencies that were installed with Docker but are no longer needed.
sudo apt-get autoremove -y
cleaning unwanted dependencies installed with docker
  1. Check that Docker is no longer installed by running the following command:
docker --version

If Docker has been successfully uninstalled, this command should return an error indicating that Docker is not found.

verifying docker has been uninstalled

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:

$ sudo usermod -aG docker $USER

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:
$ docker --version
  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:
$ docker info
  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:
$ docker run hello-world
  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: Indicates the Docker daemon isn’t running or is inaccessible. Start the Docker daemon with sudo service docker start and ensure you have the necessary permissions by adding your user to the Docker group with sudo usermod -aG docker $USER, then log out and back in.
  • 🚫 “Permission denied: docker.sock” Error: Suggests a permissions issue with the Docker socket. Fix this by adding your user to the Docker group using sudo usermod -aG docker $USER and log out and back in.
  • 📦 “Unable to locate package docker-ce” Error: Indicates the Docker package isn’t found in the repositories. Ensure you’ve added the Docker repository correctly and run sudo apt update to refresh package lists.
  • 🚩 “command not found” Error: Suggests the Docker binary isn’t in your system’s PATH. Verify the installation and ensure Docker is in /usr/bin/docker. If not, manually add it to your PATH.
  • 🔒 “Permission denied while connecting to Docker daemon socket” Error: Occurs when the user lacks permissions for the Docker socket. Use sudo for Docker commands or add your user to the Docker group with sudo usermod -aG docker $USER, then log out and back in.

Debian Docker Install: In a Nutshell

In this article, I’ve walked you through step-by-step methods to install Docker on Debian using various approaches so you can choose what works best for you. I’ve also explained how to completely uninstall Docker and troubleshoot common errors to ensure you have a smooth experience.

For more learning, I recommend checking out a few more articles:

  • One implementing Docker restart policies will help you set up containers to automatically restart under specific conditions, ensuring high availability.
  • Another valuable read covers the best methods to exit Docker containers efficiently, which is crucial for maintaining smooth operations.
  • Lastly, the article on listing Docker containers will enhance your ability to monitor and manage your Docker environment effectively.

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

How to Install Metasploit in Kali Linux [Tutorial]

Leave a Reply

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

Read next