Install Docker Engine
Docker Desktop for Linux
Docker Desktop helps you build, share, and run containers on Mac and Windows as you do on Linux. Docker Desktop for Linux is now GA. For more information, see Docker Desktop for Linux.
Supported platforms
Docker Engine is available on a variety of Linux distros, macOS, and Windows 10 through Docker Desktop, and as a static binary installation. Find your preferred operating system below.
Desktop
Server
Docker provides .deb and .rpm packages from the following Linux distros and architectures:
Platform | x86_64 / amd64 | arm64 / aarch64 | arm (32-bit) | s390x |
---|---|---|---|---|
CentOS | ||||
Debian | ||||
Fedora | ||||
Raspbian | ||||
RHEL | ||||
SLES | ||||
Ubuntu | ||||
Binaries |
Other Linux distros
Note
While the instructions below may work, Docker doesn’t test or verify installation on distro derivatives.
- Users of Debian derivatives such as “BunsenLabs Linux”, “Kali Linux” or “LMDE” (Debian-based Mint) should follow the installation instructions for Debian, substituting the version of their distro for the corresponding Debian release. Refer to the documentation of your distro to find which Debian release corresponds with your derivative version.
- Likewise, users of Ubuntu derivatives such as “Kubuntu”, “Lubuntu” or “Xubuntu” should follow the installation instructions for Ubuntu, substituting the version of their distro for the corresponding Ubuntu release. Refer to the documentation of your distro to find which Ubuntu release corresponds with your derivative version.
- Some Linux distros provide a package of Docker Engine through their package repositories. These packages are built and maintained by the Linux distro’s package maintainers and may have differences in configuration or built from modified source code. Docker isn’t involved in releasing these packages and you should report any bugs or issues involving these packages to your Linux distro’s issue tracker.
Docker provides binaries for manual installation of Docker Engine. These binaries are statically linked and you can use them on any Linux distro.
Release channels
Docker Engine has two types of update channels, stable and test:
- The Stable channel gives you the latest versions released for general availability.
- The Test channel gives you pre-release versions that are ready for testing before general availability.
Use the test channel with caution. Pre-release versions include experimental and early-access features that are subject to breaking changes.
Support
Docker Engine is an open source project, supported by the Moby project maintainers and community members. Docker doesn’t provide support for Docker Engine. Docker provides support for Docker products, including Docker Desktop, which uses Docker Engine as one of its components.
For information about the open source project, refer to the Moby project website.
Upgrade path
Patch releases are always backward compatible with its major and minor version.
Licensing
Docker Engine is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.
Reporting security issues
If you discover a security issue, we request that you bring it to our attention immediately.
DO NOT file a public issue. Instead, submit your report privately to security@docker.com.
Security reports are greatly appreciated, and Docker will publicly thank you for it.
Get started
After setting up Docker, you can learn the basics with Getting started with Docker.
Docker Desktop
Docker Desktop is a one-click-install application for your Mac, Linux, or Windows environment that enables you to build and share containerized applications and microservices.
It provides a straightforward GUI (Graphical User Interface) that lets you manage your containers, applications, and images directly from your machine. Docker Desktop can be used either on it’s own or as a complementary tool to the CLI.
Docker Desktop reduces the time spent on complex setups so you can focus on writing code. It takes care of port mappings, file system concerns, and other default settings, and is regularly updated with bug fixes and security updates.
- Ability to containerize and share any application on any cloud platform, in multiple languages and frameworks.
- Quick installation and setup of a complete Docker development environment.
- Includes the latest version of Kubernetes.
- On Windows, the ability to toggle between Linux and Windows Server environments to build applications.
- Fast and reliable performance with native Windows Hyper-V virtualization.
- Ability to work natively on Linux through WSL 2 on Windows machines.
- Volume mounting for code and data, including file change notifications and easy access to running containers on the localhost network.
Docker Desktop works with your choice of development tools and languages and gives you access to a vast library of certified images and templates in Docker Hub. This enables development teams to extend their environment to rapidly auto-build, continuously integrate, and collaborate using a secure repository.
Install on Debian
This page contains information on how to install, launch, and upgrade Docker Desktop on a Debian distribution.
Prerequisites
To install Docker Desktop successfully, you must:
- Meet the system requirements.
- Have a 64-bit version of Debian 11.
- Uninstall the tech preview or beta version of Docker Desktop for Linux. Run:
$ sudo apt remove docker-desktop
For a complete cleanup, remove configuration and data files at $HOME/.docker/desktop , the symlink at /usr/local/bin/com.docker.cli , and purge the remaining systemd service files.
$ rm -r $HOME/.docker/desktop $ sudo rm /usr/local/bin/com.docker.cli $ sudo apt purge docker-desktop
Note
If you have installed the Docker Desktop for Linux tech preview or beta version, you need to remove all files that were generated by those packages (eg. ~/.config/systemd/user/docker-desktop.service , ~/.local/share/systemd/user/docker-desktop.service ).
For a Gnome Desktop environment, you must also install AppIndicator and KStatusNotifierItem Gnome extensions.
For non-Gnome Desktop environments, gnome-terminal must be installed:
$ sudo apt install gnome-terminal
Install Docker Desktop
Recommended approach to install Docker Desktop on Debian:
$ sudo apt-get update $ sudo apt-get install ./docker-desktop--arch>.deb
Note
At the end of the installation process, apt displays an error due to installing a downloaded package. You can ignore this error message.
N: Download is performed unsandboxed as root, as file '/home/user/Downloads/docker-desktop.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
There are a few post-install configuration steps done through the post-install script contained in the deb package.
- Sets the capability on the Docker Desktop binary to map privileged ports and set resource limits.
- Adds a DNS name for Kubernetes to /etc/hosts .
- Creates a symlink from /usr/local/bin/com.docker.cli to /usr/bin/docker . This is because the classic Docker CLI is installed at /usr/bin/docker . The Docker Desktop installer also installs a Docker CLI binary that includes cloud-integration capabilities and is essentially a wrapper for the Compose CLI, at /usr/local/bin/com.docker.cli . The symlink ensures that the wrapper can access the classic Docker CLI.
Launch Docker Desktop
To start Docker Desktop for Linux, search Docker Desktop on the Applications menu and open it. This launches the Docker menu icon and opens the Docker Dashboard, reporting the status of Docker Desktop.
Alternatively, open a terminal and run:
$ systemctl --user start docker-desktop
When Docker Desktop starts, it creates a dedicated context that the Docker CLI can use as a target and sets it as the current context in use. This is to avoid a clash with a local Docker Engine that may be running on the Linux host and using the default context. On shutdown, Docker Desktop resets the current context to the previous one.
The Docker Desktop installer updates Docker Compose and the Docker CLI binaries on the host. It installs Docker Compose V2 and gives users the choice to link it as docker-compose from the Settings panel. Docker Desktop installs the new Docker CLI binary that includes cloud-integration capabilities in /usr/local/bin/com.docker.cli and creates a symlink to the classic Docker CLI at /usr/local/bin .
After you’ve successfully installed Docker Desktop, you can check the versions of these binaries by running the following commands:
$ docker compose version Docker Compose version v2.17.3 $ docker --version Docker version 23.0.5, build bc4487a $ docker version Client: Docker Engine - Community Cloud integration: v1.0.31 Version: 23.0.5 API version: 1.42
To enable Docker Desktop to start on login, from the Docker menu, select Settings > General > Start Docker Desktop when you log in.
Alternatively, open a terminal and run:
$ systemctl --user enable docker-desktop
To stop Docker Desktop, select the Docker menu icon to open the Docker menu and select Quit Docker Desktop.
Alternatively, open a terminal and run:
$ systemctl --user stop docker-desktop
Upgrade Docker Desktop
Once a new version for Docker Desktop is released, the Docker UI shows a notification. You need to download the new package each time you want to upgrade Docker Desktop and run:
$ sudo apt-get install ./docker-desktop--arch>.deb
Next steps
- Take a look at the Get started training modules to learn how to build an image and run it as a containerized application.
- Review the topics in Develop with Docker to learn how to build new applications using Docker.