--- description: Jumpstart your client-side server applications with Docker Engine on Ubuntu. This guide details prerequisites and multiple methods to install. keywords: docker install script, ubuntu docker server, ubuntu server docker, install docker engine ubuntu, install docker on ubuntu server, ubuntu 18.04 docker-ce, install docker engine on ubuntu, ubuntu install docker ce, ubuntu install docker engine redirect_from: - /ee/docker-ee/ubuntu/ - /engine/installation/linux/docker-ce/ubuntu/ - /engine/installation/linux/docker-ee/ubuntu/ - /engine/installation/linux/ubuntu/ - /engine/installation/linux/ubuntulinux/ - /engine/installation/ubuntulinux/ - /install/linux/docker-ce/ubuntu/ - /install/linux/docker-ee/ubuntu/ - /install/linux/ubuntu/ - /installation/ubuntulinux/ title: Install Docker Engine on Ubuntu toc_max: 4 --- To get started with Docker Engine on Ubuntu, make sure you [meet the prerequisites](#prerequisites), and then follow the [installation steps](#installation-methods). ## Prerequisites ### OS requirements To install Docker Engine, you need the 64-bit version of one of these Ubuntu versions: - Ubuntu Lunar 23.04 - Ubuntu Kinetic 22.10 - Ubuntu Jammy 22.04 (LTS) - Ubuntu Focal 20.04 (LTS) - Ubuntu Bionic 18.04 (LTS) Docker Engine is compatible with x86_64 (or amd64), armhf, arm64, and s390x architectures. ### Uninstall old versions Older versions of Docker went by the names of `docker`, `docker.io`, or `docker-engine`, you might also have installations of `containerd` or `runc`. Uninstall any such older versions before attempting to install a new version: ```console $ sudo apt-get remove docker docker-engine docker.io containerd runc ``` `apt-get` might report that you have none of these packages installed. Images, containers, volumes, and networks stored in `/var/lib/docker/` aren't automatically removed when you uninstall Docker. If you want to start with a clean installation, and prefer to clean up any existing data, read the [uninstall Docker Engine](#uninstall-docker-engine) section. ## Installation methods You can install Docker Engine in different ways, depending on your needs: - Docker Engine comes bundled with [Docker Desktop for Linux](../../desktop/install/linux-install.md). This is the easiest and quickest way to get started. - Set up and install Docker Engine from [Docker's `apt` repository](#install-using-the-repository). - [Install it manually](#install-from-a-package) and manage upgrades manually. - Use a [convenience scripts](#install-using-the-convenience-script). Only recommended for testing and development environments. ### Install using the apt repository {#install-using-the-repository} Before you install Docker Engine for the first time on a new host machine, you need to set up the Docker repository. Afterward, you can install and update Docker from the repository. #### Set up the repository {% assign download-url-base = "https://download.docker.com/linux/ubuntu" %} 1. Update the `apt` package index and install packages to allow `apt` to use a repository over HTTPS: ```console $ sudo apt-get update $ sudo apt-get install ca-certificates curl gnupg ``` 2. Add Docker's official GPG key: ```console $ sudo install -m 0755 -d /etc/apt/keyrings $ curl -fsSL {{ download-url-base }}/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg $ sudo chmod a+r /etc/apt/keyrings/docker.gpg ``` 3. Use the following command to set up the repository: ```console $ echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] {{ download-url-base }} \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` > **Note** > > If you use an Ubuntu derivative distro, such as Linux Mint, > you may need to use `UBUNTU_CODENAME` instead of `VERSION_CODENAME`. #### Install Docker Engine 1. Update the `apt` package index: ```console $ sudo apt-get update ``` 2. Install Docker Engine, containerd, and Docker Compose.

To install the latest version, run: ```console $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin ```
To install a specific version of Docker Engine, start by listing the available versions in the repository: ```console # List the available versions: $ apt-cache madison docker-ce | awk '{ print $3 }' 5:24.0.0-1~ubuntu.22.04~jammy 5:23.0.6-1~ubuntu.22.04~jammy <...> ``` Select the desired version and install: ```console $ VERSION_STRING=5:24.0.0-1~ubuntu.22.04~jammy $ sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin ```

3. Verify that the Docker Engine installation is successful by running the `hello-world` image. ```console $ sudo docker run hello-world ``` This command downloads a test image and runs it in a container. When the container runs, it prints a confirmation message and exits. You have now successfully installed and started Docker Engine. {% include root-errors.md %} #### Upgrade Docker Engine To upgrade Docker Engine, follow the [installation instructions](#install-using-the-repository), choosing the new version you want to install. ### Install from a package If you can't use Docker's `apt` repository to install Docker Engine, you can download the `deb` file for your release and install it manually. You need to download a new file each time you want to upgrade Docker Engine. 1. Go to [`{{ download-url-base }}/dists/`]({{ download-url-base }}/dists/){: target="_blank" rel="noopener" class="_" }. 2. Select your Ubuntu version in the list. 3. Go to `pool/stable/` and select the applicable architecture (`amd64`, `armhf`, `arm64`, or `s390x`). 4. Download the following `deb` files for the Docker Engine, CLI, containerd, and Docker Compose packages: - `containerd.io__.deb` - `docker-ce__.deb` - `docker-ce-cli__.deb` - `docker-buildx-plugin__.deb` - `docker-compose-plugin__.deb` 5. Install the `.deb` packages. Update the paths in the following example to where you downloaded the Docker packages. ```console $ sudo dpkg -i ./containerd.io__.deb \ ./docker-ce__.deb \ ./docker-ce-cli__.deb \ ./docker-buildx-plugin__.deb \ ./docker-compose-plugin__.deb ``` The Docker daemon starts automatically. 6. Verify that the Docker Engine installation is successful by running the `hello-world` image. ```console $ sudo service docker start $ sudo docker run hello-world ``` This command downloads a test image and runs it in a container. When the container runs, it prints a confirmation message and exits. You have now successfully installed and started Docker Engine. {% include root-errors.md %} #### Upgrade Docker Engine To upgrade Docker Engine, download the newer package files and repeat the [installation procedure](#install-from-a-package), pointing to the new files. {% include install-script.md %} ## Uninstall Docker Engine 1. Uninstall the Docker Engine, CLI, containerd, and Docker Compose packages: ```console $ sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras ``` 2. Images, containers, volumes, or custom configuration files on your host aren't automatically removed. To delete all images, containers, and volumes: ```console $ sudo rm -rf /var/lib/docker $ sudo rm -rf /var/lib/containerd ``` You have to delete any edited configuration files manually. ## Next steps - Continue to [Post-installation steps for Linux](linux-postinstall.md). - Review the topics in [Develop with Docker](../../develop/index.md) to learn how to build new applications using Docker.