diff --git a/.github/vale/Vocab/Industry/accept.txt b/.github/vale/Vocab/Industry/accept.txt index 587975f9e865..4b9f43b10915 100644 --- a/.github/vale/Vocab/Industry/accept.txt +++ b/.github/vale/Vocab/Industry/accept.txt @@ -25,6 +25,7 @@ Kubernetes Lightstreamer Linux Logstash +LTS Mac Mail(chimp|gun) Microsoft @@ -38,9 +39,11 @@ Postgres PowerShell Python QEMU +Raspbian RHEL S3 SQLite +SLES Slack Snyk Solr diff --git a/.github/vale/Vocab/Technology/accept.txt b/.github/vale/Vocab/Technology/accept.txt index ed7d5454afcb..12595a0819d6 100644 --- a/.github/vale/Vocab/Technology/accept.txt +++ b/.github/vale/Vocab/Technology/accept.txt @@ -1,6 +1,7 @@ APIs? Ethernet Git +GPG HTTP IPs? IPv[46] @@ -43,6 +44,7 @@ stdout subnet swappable systemd +umask ungated virtiofs virtualize diff --git a/_includes/install-script.md b/_includes/install-script.md index 0fc545e28f6c..c17f903211e3 100644 --- a/_includes/install-script.md +++ b/_includes/install-script.md @@ -1,16 +1,17 @@ - - ### Install using the convenience script -Docker provides a convenience script at [get.docker.com](https://get.docker.com/) -to install Docker into development environments quickly and non-interactively. -The convenience script is not recommended for production environments, but can be -used as an example to create a provisioning script that is tailored to your needs. -Also refer to the [install using the repository](#install-using-the-repository) -steps to learn about installation steps to install using the package repository. -The source code for the script is open source, and can be found in the -[`docker-install` repository on GitHub](https://github.com/docker/docker-install){:target="_blank" rel="noopener" class="_"}. +Docker provides a convenience script at +[https://get.docker.com/](https://get.docker.com/) to install Docker into +development environments non-interactively. The convenience script isn't +recommended for production environments, but it's useful for creating a +provisioning script tailored to your needs. Also refer to the +[install using the repository](#install-using-the-repository) steps to learn +about installation steps to install using the package repository. The source +code for the script is open source, and can be found in the +[`docker-install` repository on GitHub](https://github.com/docker/docker-install){:target="_blank" +rel="noopener" class="_"}. + Always examine scripts downloaded from the internet before running them locally. Before installing, make yourself familiar with potential risks and limitations of the convenience script: @@ -18,31 +19,32 @@ of the convenience script: - The script requires `root` or `sudo` privileges to run. - The script attempts to detect your Linux distribution and version and - configure your package management system for you, and does not allow you to - customize most installation parameters. + configure your package management system for you. +- The script doesn't allow you to customize most installation parameters. - The script installs dependencies and recommendations without asking for confirmation. This may install a large number of packages, depending on the current configuration of your host machine. -- By default, the script installs the latest stable release of Docker, containerd, - and runc. When using this script to provision a machine, this may result in - unexpected major version upgrades of Docker. Always test (major) upgrades in +- By default, the script installs the latest stable release of Docker, + containerd, and runc. When using this script to provision a machine, this may + result in unexpected major version upgrades of Docker. Always test upgrades in a test environment before deploying to your production systems. -- The script is not designed to upgrade an existing Docker installation. When +- The script isn't designed to upgrade an existing Docker installation. When using the script to update an existing installation, dependencies may not be - updated to the expected version, causing outdated versions to be used. + updated to the expected version, resulting in outdated versions. > Tip: preview script steps before running > > You can run the script with the `DRY_RUN=1` option to learn what steps the -> script will execute during installation: +> script will run when invoked: > > ```console > $ curl -fsSL https://get.docker.com -o get-docker.sh -> $ DRY_RUN=1 sh ./get-docker.sh +> $ DRY_RUN=1 sudo sh ./get-docker.sh > ``` -This example downloads the script from [get.docker.com](https://get.docker.com/) -and runs it to install the latest stable release of Docker on Linux: +This example downloads the script from +[https://get.docker.com/](https://get.docker.com/) and runs it to install the +latest stable release of Docker on Linux: ```console $ curl -fsSL https://get.docker.com -o get-docker.sh @@ -51,41 +53,42 @@ Executing docker install script, commit: 7cae5f8b0decc17d6571f9f52eb840fbc13b273 <...> ``` -Docker is installed. The `docker` service starts automatically on Debian based -distributions. On `RPM` based distributions, such as CentOS, Fedora, RHEL or SLES, -you need to start it manually using the appropriate `systemctl` or `service` command. -As the message indicates, non-root users cannot run Docker commands by default. +You have now successfully installed and started Docker Engine. The `docker` +service starts automatically on Debian based distributions. On `RPM` based +distributions, such as CentOS, Fedora, RHEL or SLES, you need to start it +manually using the appropriate `systemctl` or `service` command. As the message +indicates, non-root users can't run Docker commands by default. > **Use Docker as a non-privileged user, or install in rootless mode?** > > The installation script requires `root` or `sudo` privileges to install and > use Docker. If you want to grant non-root users access to Docker, refer to the > [post-installation steps for Linux](/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user). -> Docker can also be installed without `root` privileges, or configured to run -> in rootless mode. For instructions on running Docker in rootless mode, refer to +> You can also install Docker without `root` privileges, or configured to run in +> rootless mode. For instructions on running Docker in rootless mode, refer to > [run the Docker daemon as a non-root user (rootless mode)](/engine/security/rootless/). #### Install pre-releases -Docker also provides a convenience script at [test.docker.com](https://test.docker.com/) -to install pre-releases of Docker on Linux. This script is equivalent to the -script at `get.docker.com`, but configures your package manager to enable the -"test" channel from our package repository, which includes both stable and -pre-releases (beta versions, release-candidates) of Docker. Use this script to -get early access to new releases, and to evaluate them in a testing environment -before they are released as stable. +Docker also provides a convenience script at +[https://test.docker.com/](https://test.docker.com/) to install pre-releases of +Docker on Linux. This script is equal to the script at `get.docker.com`, but +configures your package manager to use the test channel of the Docker package +repository. The test channel includes both stable and pre-releases (beta +versions, release-candidates) of Docker. Use this script to get early access to +new releases, and to evaluate them in a testing environment before they're +released as stable. -To install the latest version of Docker on Linux from the "test" channel, run: +To install the latest version of Docker on Linux from the test channel, run: ```console $ curl -fsSL https://test.docker.com -o test-docker.sh $ sudo sh test-docker.sh -<...> ``` #### Upgrade Docker after using the convenience script If you installed Docker using the convenience script, you should upgrade Docker -using your package manager directly. There is no advantage to re-running the -convenience script, and it can cause issues if it attempts to re-add -repositories which have already been added to the host machine. +using your package manager directly. There's no advantage to re-running the +convenience script. Re-running it can cause issues if it attempts to re-install +repositories which already exist on the host machine. diff --git a/engine/install/debian.md b/engine/install/debian.md index 6fbd52970cde..bcf12bfe9ae3 100644 --- a/engine/install/debian.md +++ b/engine/install/debian.md @@ -1,12 +1,13 @@ --- description: Instructions for installing Docker Engine on Debian -keywords: requirements, apt, installation, debian, install, uninstall, upgrade, update +keywords: + requirements, apt, installation, debian, install, uninstall, upgrade, update redirect_from: -- /engine/installation/debian/ -- /engine/installation/linux/raspbian/ -- /engine/installation/linux/debian/ -- /engine/installation/linux/docker-ce/debian/ -- /install/linux/docker-ce/debian/ + - /engine/installation/debian/ + - /engine/installation/linux/raspbian/ + - /engine/installation/linux/debian/ + - /engine/installation/linux/docker-ce/debian/ + - /install/linux/docker-ce/debian/ title: Install Docker Engine on Debian toc_max: 4 --- @@ -27,12 +28,14 @@ Raspbian versions: - Raspbian Bullseye 11 (stable) - Raspbian Buster 10 (oldstable) -Docker Engine is supported on `x86_64` (or `amd64`), `armhf`, and `arm64` architectures. +Docker Engine is compatible with `x86_64` (or `amd64`), `armhf`, and `arm64` +architectures. ### Uninstall old versions -Older versions of Docker were called `docker`, `docker.io`, or `docker-engine`. -If these are installed, uninstall them: +Older versions of Docker went by the names of `docker`, `docker.io`, or +`docker-engine`. Uninstall any such older versions before attempting to install +a new version: ```console $ sudo apt-get remove docker docker-engine docker.io containerd runc @@ -40,38 +43,37 @@ $ sudo apt-get remove docker docker-engine docker.io containerd runc It's OK if `apt-get` reports that none of these packages are installed. -The contents of `/var/lib/docker/`, including images, containers, volumes, and -networks, are preserved. If you do not need to save your existing data, and want to -start with a clean installation, refer to the [uninstall Docker Engine](#uninstall-docker-engine) -section at the bottom of this page. +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, refer to the +[uninstall Docker Engine](#uninstall-docker-engine) section. ## Installation methods You can install Docker Engine in different ways, depending on your needs: -- Most users - [set up Docker's repositories](#install-using-the-repository) and install - from them, for ease of installation and upgrade tasks. This is the - recommended approach, except for Raspbian. +- Docker Engine comes bundled with + [Docker Desktop for Linux](../../desktop/install/linux-install.md). This is + the easiest and quickest way to get started. -- Some users download the DEB package and - [install it manually](#install-from-a-package) and manage - upgrades completely manually. This is useful in situations such as installing - Docker on air-gapped systems with no access to the internet. +- You can also set up and install Docker Engine from + [Docker's `apt` repository](#install-using-the-repository). -- In testing and development environments, some users choose to use automated - [convenience scripts](#install-using-the-convenience-script) to install Docker. - This is currently the only approach for Raspbian. +- [Install it manually](#install-from-a-package) and manage upgrades manually. + +- Using a [convenience scripts](#install-using-the-convenience-script). Only + recommended for testing and development environments. This is the only + approach available for Raspbian. ### 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. +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. -> **Raspbian users cannot use this method!** +> **Raspbian users can't use this method.** > -> For Raspbian, installing using the repository is not yet supported. You must +> For Raspbian, installing using the repository isn't yet supported. You must > instead use the [convenience script](#install-using-the-convenience-script). #### Set up the repository @@ -108,99 +110,142 @@ from the repository. #### Install Docker Engine -This procedure works for Debian on `x86_64` / `amd64`, `armhf`, `arm64`, and Raspbian. +This procedure works for Debian on `x86_64` / `amd64`, `armhf`, `arm64`, and +Raspbian. -1. Update the `apt` package index, and install the _latest version_ of Docker - Engine, containerd, and Docker Compose, or go to the next step to install a specific version: +1. Update the `apt` package index: - ```console - $ sudo apt-get update + ```console + $ sudo apt-get update + ``` + + > Receiving a GPG error when running `apt-get update`? + > + > Your default [umask](https://en.wikipedia.org/wiki/Umask){: target="blank" + > rel="noopener" } may be incorrectly configured, preventing detection of the + > repository public key file. Try granting read permission for the Docker + > public key file before updating the package index: + > + > ```console + > $ sudo chmod a+r /etc/apt/keyrings/docker.gpg + > $ 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-compose-plugin - ``` + ``` - > Receiving a GPG error when running `apt-get update`? - > - > Your default umask may not be set correctly, causing the public key file - > for the repo to not be detected. Run the following command and then try to - > update your repo again: `sudo chmod a+r /etc/apt/keyrings/docker.gpg`. +
+
-2. To install a _specific version_ of Docker Engine, list the available versions - in the repo, then select and install: + To install a specific version of Docker Engine, start by list the available + versions in the repository: - a. List the versions available in your repo: + ```console + # List the available versions: + $ apt-cache madison docker-ce | awk '{ print $3 }' - ```console - $ apt-cache madison docker-ce + 5:18.09.1~3-0~debian-stretch + 5:18.09.0~3-0~debian-stretch + 18.06.1~ce~3-0~debian + 18.06.0~ce~3-0~debian + ``` - docker-ce | 5:18.09.1~3-0~debian-stretch | {{ download-url-base }} stretch/stable amd64 Packages - docker-ce | 5:18.09.0~3-0~debian-stretch | {{ download-url-base }} stretch/stable amd64 Packages - docker-ce | 18.06.1~ce~3-0~debian | {{ download-url-base }} stretch/stable amd64 Packages - docker-ce | 18.06.0~ce~3-0~debian | {{ download-url-base }} stretch/stable amd64 Packages - ``` + Select the desired version and install: - b. Install a specific version using the version string from the second column, - for example, `5:18.09.1~3-0~debian-stretch`. + ```console + $ VERSION_STRING=5:18.09.0~3-0~debian-stretch + $ sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-compose-plugin + ``` - ```console - $ sudo apt-get install docker-ce= docker-ce-cli= containerd.io docker-compose-plugin - ``` +
+
+
-3. Verify that Docker Engine is installed correctly by running the `hello-world` - image. +3. Verify that the Docker Engine installation is successful by running the + `hello-world` image: - ```console - $ sudo docker run hello-world - ``` + ```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 message and exits. + This command downloads a test image and runs it in a container. When the + container runs, it prints a confirmation message and exits. -Docker Engine is installed and running. The `docker` group is created but no users -are added to it. You need to use `sudo` to run Docker commands. -Continue to [Linux postinstall](linux-postinstall.md) to allow non-privileged -users to run Docker commands and for other optional configuration steps. +You have now successfully installed and started Docker Engine. The `docker` user +group exists but contains no users, which is why you're required to use `sudo` +to run Docker commands. Continue to [Linux post-install](linux-postinstall.md) +to allow non-privileged users to run Docker commands and for other optional +configuration steps. #### Upgrade Docker Engine -To upgrade Docker Engine, first run `sudo apt-get update`, then follow the -[installation instructions](#install-using-the-repository), choosing the new -version you want to install. +To upgrade Docker Engine, follow the +[installation instructions](#install-docker-engine), choosing the new version +you want to install. ### Install from a package -If you cannot use Docker's 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. +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="_" }, - choose your Debian version, then browse to `pool/stable/`, choose `amd64`, - `armhf`, or `arm64`, and download the `.deb` file for the Docker Engine - version you want to install. +1. Go to [`{{ download-url-base }}/dists/`]({{ download-url-base }}/dists/){: + target="_blank" rel="noopener" class="_" }. -2. Install Docker Engine, changing the path below to the path where you downloaded - the Docker package. +2. Select your Debian version in the list. - ```console - $ sudo dpkg -i /path/to/package.deb - ``` +3. Go to `pool/stable/` and select the applicable architecture (`amd64`, + `armhf`, `arm64`, or `s390x`). - The Docker daemon starts automatically. +4. Download the following `deb` files for the Docker Engine, CLI, containerd, + and Docker Compose packages: -3. Verify that Docker Engine is installed correctly by running the `hello-world` - image. + - `containerd.io__.deb` + - `docker-ce__.deb` + - `docker-ce-cli__.deb` + - `docker-compose-plugin__.deb` - ```console - $ sudo docker run hello-world - ``` +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-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 message and exits. + This command downloads a test image and runs it in a container. When the + container runs, it prints a confirmation message and exits. -Docker Engine is installed and running. The `docker` group is created but no users -are added to it. You need to use `sudo` to run Docker commands. -Continue to [Post-installation steps for Linux](linux-postinstall.md) to allow -non-privileged users to run Docker commands and for other optional configuration -steps. +You have now successfully installed and started Docker Engine. The `docker` user +group exists but contains no users, which is why you're required to use `sudo` +to run Docker commands. Continue to [Linux post-install](linux-postinstall.md) +to allow non-privileged users to run Docker commands and for other optional +configuration steps. #### Upgrade Docker Engine @@ -211,15 +256,14 @@ To upgrade Docker Engine, download the newer package file and repeat the ## Uninstall Docker Engine -1. Uninstall the Docker Engine, CLI, Containerd, and Docker Compose packages: +1. Uninstall the Docker Engine, CLI, containerd, and Docker Compose packages: ```console $ sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin ``` -2. Images, containers, volumes, or customized configuration files on your host - are not automatically removed. To delete all images, containers, and - volumes: +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 @@ -231,4 +275,5 @@ You must 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. +- Review the topics in [Develop with Docker](../../develop/index.md) to learn + how to build new applications using Docker. diff --git a/engine/install/ubuntu.md b/engine/install/ubuntu.md index 3cc23688a858..2643bf67b8c2 100644 --- a/engine/install/ubuntu.md +++ b/engine/install/ubuntu.md @@ -1,29 +1,22 @@ --- description: Instructions for installing Docker Engine on Ubuntu -keywords: requirements, apt, installation, ubuntu, install, uninstall, upgrade, update +keywords: + requirements, apt, installation, ubuntu, install, uninstall, upgrade, update 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/ + - /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 --- -> **Docker Desktop for Linux** -> -> Docker Desktop helps you build, share, and run containers easily on Mac and -> Windows as you do on Linux. We are excited to share that Docker Desktop for -> Linux is now GA. For more information, see -[Docker Desktop for Linux](../../desktop/install/linux-install.md). -{: .important} - To get started with Docker Engine on Ubuntu, make sure you [meet the prerequisites](#prerequisites), then [install Docker](#installation-methods). @@ -40,12 +33,14 @@ versions: - Ubuntu Focal 20.04 (LTS) - Ubuntu Bionic 18.04 (LTS) -Docker Engine is supported on `x86_64` (or `amd64`), `armhf`, `arm64`, and `s390x` architectures. +Docker Engine is compatible with `x86_64` (or `amd64`), `armhf`, `arm64`, and +`s390x` architectures. ### Uninstall old versions -Older versions of Docker were called `docker`, `docker.io`, or `docker-engine`. -If these are installed, uninstall them: +Older versions of Docker went by the names of `docker`, `docker.io`, or +`docker-engine`. Uninstall any such older versions before attempting to install +a new version: ```console $ sudo apt-get remove docker docker-engine docker.io containerd runc @@ -53,33 +48,32 @@ $ sudo apt-get remove docker docker-engine docker.io containerd runc It's OK if `apt-get` reports that none of these packages are installed. -The contents of `/var/lib/docker/`, including images, containers, volumes, and -networks, are preserved. If you do not need to save your existing data, and want to -start with a clean installation, refer to the [uninstall Docker Engine](#uninstall-docker-engine) -section at the bottom of this page. +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, refer to the +[uninstall Docker Engine](#uninstall-docker-engine) section. ## Installation methods You can install Docker Engine in different ways, depending on your needs: -- Most users - [set up Docker's repositories](#install-using-the-repository) and install - from them, for ease of installation and upgrade tasks. This is the - recommended approach. +- Docker Engine comes bundled with + [Docker Desktop for Linux](../../desktop/install/linux-install.md). This is + the easiest and quickest way to get started. + +- You can also set up and install Docker Engine from + [Docker's `apt` repository](#install-using-the-repository). -- Some users download the DEB package and - [install it manually](#install-from-a-package) and manage - upgrades completely manually. This is useful in situations such as installing - Docker on air-gapped systems with no access to the internet. +- [Install it manually](#install-from-a-package) and manage upgrades manually. -- In testing and development environments, some users choose to use automated - [convenience scripts](#install-using-the-convenience-script) to install Docker. +- Using a [convenience scripts](#install-using-the-convenience-script). Only + recommended for testing and development environments. ### 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. +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 @@ -115,98 +109,138 @@ from the repository. #### Install Docker Engine -1. Update the `apt` package index, and install the _latest version_ of Docker - Engine, containerd, and Docker Compose, or go to the next step to install a specific version: - - ```console - $ sudo apt-get update +1. Update the `apt` package index: + + ```console + $ sudo apt-get update + ``` + + > Receiving a GPG error when running `apt-get update`? + > + > Your default [umask](https://en.wikipedia.org/wiki/Umask){: target="blank" + > rel="noopener" } may be incorrectly configured, preventing detection of the + > repository public key file. Try granting read permission for the Docker + > public key file before updating the package index: + > + > ```console + > $ sudo chmod a+r /etc/apt/keyrings/docker.gpg + > $ 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-compose-plugin - ``` + ``` - > Receiving a GPG error when running `apt-get update`? - > - > Your default umask may not be set correctly, causing the public key file - > for the repo to not be detected. Run the following command and then try to - > update your repo again: `sudo chmod a+r /etc/apt/keyrings/docker.gpg`. +
+
-2. To install a _specific version_ of Docker Engine, list the available versions - in the repo, then select and install: + To install a specific version of Docker Engine, start by list the available + versions in the repository: - a. List the versions available in your repo: + ```console + # List the available versions: + $ apt-cache madison docker-ce | awk '{ print $3 }' - ```console - $ apt-cache madison docker-ce + 5:20.10.16~3-0~ubuntu-jammy + 5:20.10.15~3-0~ubuntu-jammy + 5:20.10.14~3-0~ubuntu-jammy + 5:20.10.13~3-0~ubuntu-jammy + ``` - docker-ce | 5:20.10.16~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages - docker-ce | 5:20.10.15~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages - docker-ce | 5:20.10.14~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages - docker-ce | 5:20.10.13~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages - ``` + Select the desired version and install: - b. Install a specific version using the version string from the second column, - for example, `5:20.10.16~3-0~ubuntu-jammy`. + ```console + $ VERSION_STRING=5:20.10.13~3-0~ubuntu-jammy + $ sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-compose-plugin + ``` - ```console - $ sudo apt-get install docker-ce= docker-ce-cli= containerd.io docker-compose-plugin - ``` +
+
+
-3. Verify that Docker Engine is installed correctly by running the `hello-world` - image. +3. Verify that the Docker Engine installation is successful by running the + `hello-world` image: - ```console - $ sudo service docker start - $ sudo docker run hello-world - ``` + ```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 message and exits. + This command downloads a test image and runs it in a container. When the + container runs, it prints a confirmation message and exits. -Docker Engine is installed and running. The `docker` group is created but no users -are added to it. You need to use `sudo` to run Docker commands. -Continue to [Linux postinstall](linux-postinstall.md) to allow non-privileged -users to run Docker commands and for other optional configuration steps. +You have now successfully installed and started Docker Engine. The `docker` user +group exists but contains no users, which is why you're required to use `sudo` +to run Docker commands. Continue to [Linux post-install](linux-postinstall.md) +to allow non-privileged users to run Docker commands and for other optional +configuration steps. #### Upgrade Docker Engine -To upgrade Docker Engine, first run `sudo apt-get update`, then follow the -[installation instructions](#install-using-the-repository), choosing the new -version you want to install. +To upgrade Docker Engine, follow the +[installation instructions](#install-docker-engine), choosing the new version +you want to install. ### Install from a package -If you cannot use Docker's 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. +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="_" }, - choose your Ubuntu version, then browse to `pool/stable/`, choose `amd64`, - `armhf`, `arm64`, or `s390x`, and download the `.deb` file for the Docker Engine - version you want to install. +1. Go to [`{{ download-url-base }}/dists/`]({{ download-url-base }}/dists/){: + target="_blank" rel="noopener" class="_" }. -2. Install Docker Engine, changing the path below to the path where you downloaded - the Docker package. +2. Select your Ubuntu version in the list. - ```console - $ sudo dpkg -i /path/to/package.deb - ``` +3. Go to `pool/stable/` and select the applicable architecture (`amd64`, + `armhf`, `arm64`, or `s390x`). - The Docker daemon starts automatically. +4. Download the following `deb` files for the Docker Engine, CLI, containerd, + and Docker Compose packages: -3. Verify that Docker Engine is installed correctly by running the `hello-world` - image. + - `containerd.io__.deb` + - `docker-ce__.deb` + - `docker-ce-cli__.deb` + - `docker-compose-plugin__.deb` - ```console - $ sudo docker run hello-world - ``` +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-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 docker run hello-world + ``` - This command downloads a test image and runs it in a container. When the - container runs, it prints a message and exits. + This command downloads a test image and runs it in a container. When the + container runs, it prints a confirmation message and exits. -Docker Engine is installed and running. The `docker` group is created but no users -are added to it. You need to use `sudo` to run Docker commands. -Continue to [Post-installation steps for Linux](linux-postinstall.md) to allow -non-privileged users to run Docker commands and for other optional configuration -steps. +You have now successfully installed and started Docker Engine. The `docker` user +group exists but contains no users, which is why you're required to use `sudo` +to run Docker commands. Continue to [Linux post-install](linux-postinstall.md) +to allow non-privileged users to run Docker commands and for other optional +configuration steps. #### Upgrade Docker Engine @@ -217,15 +251,14 @@ To upgrade Docker Engine, download the newer package file and repeat the ## Uninstall Docker Engine -1. Uninstall the Docker Engine, CLI, Containerd, and Docker Compose packages: +1. Uninstall the Docker Engine, CLI, containerd, and Docker Compose packages: ```console $ sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin ``` -2. Images, containers, volumes, or customized configuration files on your host - are not automatically removed. To delete all images, containers, and - volumes: +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 @@ -237,4 +270,5 @@ You must 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. +- Review the topics in [Develop with Docker](../../develop/index.md) to learn + how to build new applications using Docker.