Merge pull request #30725 from wxy/20231204-How-to-Install-Docker-on-Ubuntu

RP:published/20231204 How to Install Docker on Ubuntu.md
This commit is contained in:
Xingyu.Wang 2024-01-03 23:03:34 +08:00 committed by GitHub
commit fc9fcc77a3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,55 +3,49 @@
[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/"
[#]: collector: "lujun9972/lctt-scripts-1700446145" [#]: collector: "lujun9972/lctt-scripts-1700446145"
[#]: translator: "geekpi" [#]: translator: "geekpi"
[#]: reviewer: " " [#]: reviewer: "wxy"
[#]: publisher: " " [#]: publisher: "wxy"
[#]: url: " " [#]: url: "https://linux.cn/article-16531-1.html"
如何在 Ubuntu 上安装 Docker 如何在 Ubuntu 上安装 Docker
====== ======
![][0]
> 了解在 Ubuntu 上安装 Docker 的两种官方方法。一种很简单,但可能会给你一个稍旧的版本。另一种方法稍显复杂,但能提供最新的稳定版本。
使用 Docker 意味着开启一个新的计算领域,但如果你刚刚开始使用 Docker安装可能看起来是一项艰巨的任务。 使用 Docker 意味着开启一个新的计算领域,但如果你刚刚开始使用 Docker安装可能看起来是一项艰巨的任务。
在 Ubuntu 上安装 Docker 有两种推荐的方法: 在 Ubuntu 上安装 Docker 有两种推荐的方法:
* **从 Ubuntu 的仓库安装 Docker** :简单的单行命令,但提供旧版本 * **从 Ubuntu 的仓库安装 Docker**:简单的单行命令,但提供旧版本
* **使用 Docker 的官方仓库**:工作量稍多,但提供了最新的稳定版本 * **使用 Docker 的官方仓库**:工作量稍多,但提供了最新的稳定版本
我将在本教程中讨论它们。 我将在本教程中讨论它们。
### 方法 1使用 Ubuntu 的仓库安装 Docker ### 方法 1使用 Ubuntu 的仓库安装 Docker
如果你不关心旧版本,并且不想设置和管理仓库,那么这是最适合你的方法。 如果你不在意旧版本,并且不想设置和管理仓库,那么这是最适合你的方法。
从更新仓库索引开始: 从更新仓库索引开始:
```` ```
sudo apt update
sudo apt update ```
````
现在,你可以使用以下命令在 Ubuntu 中安装 Docker 以及 [Docker Compose][1] 现在,你可以使用以下命令在 Ubuntu 中安装 Docker 以及 [Docker Compose][1]
```` ```
sudo apt install docker.io docker-compose
```
sudo apt install docker.io docker-compose > 📋 Docker 包被命名为 `docker.io`,因为在 Docker 出现之前就已经存在一个名为 docker用于 Dockerlet 应用的过渡包。因此Docker 包必须被命名为其他名称。
````
📋
Docker 包被命名为 docker.io因为甚至在 Docker 出现之前就已经存在一个名为 docker用于 Dockerlet 应用的过渡包。因此Docker 包必须被命名为其他名称。
安装完成后,你可以使用以下命令检查安装的版本: 安装完成后,你可以使用以下命令检查安装的版本:
```` ```
docker -v
docker -v ```
````
![][2] ![][2]
@ -65,61 +59,49 @@ Docker 包被命名为 docker.io因为甚至在 Docker 出现之前就已经
但在跳到安装部分之前,有必要删除所有以前安装的 Docker。 但在跳到安装部分之前,有必要删除所有以前安装的 Docker。
要[卸载以前的 Docker][3],请使用以下命令。 [卸载以前的 Docker][3],请使用以下命令。
```` ```
sudo apt remove docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc
sudo apt remove docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc ```
````
#### 步骤 2安装依赖项 #### 步骤 2安装依赖项
第一步是安装一些必要的软件包,这些软件包将用于在本教程后面安装 Docker 第一步是安装一些必要的软件包,这些软件包将用于在本教程后面安装 Docker
```` ```
sudo apt install ca-certificates curl gnupg lsb-release
sudo apt install ca-certificates curl gnupg lsb-release ```
````
你可能已经安装了部分或全部这些软件包,但确认安装没有什么坏处。上面的命令不会伤害你。 你可能已经安装了部分或全部这些软件包,但确认安装没有什么坏处。上面的命令不会伤害你。
#### 步骤 3添加 Docker 仓库的 GPG 密钥并将其添加到 sources.list #### 步骤 3添加 Docker 仓库的 GPG 密钥并将其添加到 sources.list
现在,通过 apt 包管理器创建一个具有特殊权限的目录,用于存储加密密钥以进行包验证: 现在,通过 `apt` 包管理器创建一个具有特殊权限的目录,用于存储加密密钥以进行包验证:
````
sudo install -m 0755 -d /etc/apt/keyrings
````
接下来,如下所示[使用 curl 命令][4]下载并导入 Docker 的 GPG 密钥环:
```
sudo install -m 0755 -d /etc/apt/keyrings
``` ```
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg 接下来,如下所示 [使用 curl 命令][4] 下载并导入 Docker 的 GPG 密钥环:
```
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
``` ```
下载 GPG 密钥后,[使用 chmod 命令更改文件权限][5],以便系统上的每个用户都可以读取 GPG 密钥: 下载 GPG 密钥后,[使用 chmod 命令更改文件权限][5],以便系统上的每个用户都可以读取 GPG 密钥:
```` ```
sudo chmod a+r /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg ```
````
最后,将 Docker 仓库添加到 `sources.list.d` 文件中: 最后,将 Docker 仓库添加到 `sources.list.d` 文件中:
``` ```
echo \
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
``` ```
就是这样! 就是这样!
@ -128,51 +110,41 @@ Docker 包被命名为 docker.io因为甚至在 Docker 出现之前就已经
现在,要使你对系统所做的更改生效,请更新系统仓库: 现在,要使你对系统所做的更改生效,请更新系统仓库:
```` ```
sudo apt update
sudo apt update ```
````
使用以下命令获取最新版本的 Docker 以及其他 Docker 组件和依赖项: 使用以下命令获取最新版本的 Docker 以及其他 Docker 组件和依赖项:
```` ```
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin > 📋 虽然 docker.io 包安装了大部分必需的 Docker 组件,但你需要在此处单独进行安装。
````
📋
虽然 docker.io 包安装了大部分必需的 Docker 组件,但你需要在此处单独进行安装。
要检查已安装的版本,请使用以下命令: 要检查已安装的版本,请使用以下命令:
```` ```
docker -v
docker -v ```
````
![][6] ![][6]
测试安装的另一个方法是在 Docker 中使用 Hello World 镜像。 测试安装的另一个方法是在 Docker 中使用 Hello World 镜像。
让我告诉你如何做。 让我告诉你如何做。
### 使用 hello-world 镜像来验证 Docker 安装 ### 使用 hello-world 镜像来验证 Docker 安装
运行 Hello World 程序是我们启动任何编程之旅时都遵循的标准做法Docker 也是如此。 运行 Hello World 程序是我们启动任何编程之旅时都遵循的标准做法Docker 也是如此。
Docker 为你提供了一个 Hello World 镜像,你可以使用它来测试安装。 Docker 为你提供了一个 Hello World 镜像,你可以使用它来测试安装。
要安装并运行 Hello World 映像,只需使用以下命令: 要安装并运行 “Hello World” 镜像,只需使用以下命令:
```` ```
sudo docker run hello-world
sudo docker run hello-world ```
````
![][7] ![][7]
@ -182,9 +154,9 @@ Docker 为你提供了一个 Hello World 镜像,你可以使用它来测试安
在这种情况下,**重新启动系统**并再次尝试安装 Docker Hello World 镜像,它将正常工作。 在这种情况下,**重新启动系统**并再次尝试安装 Docker Hello World 镜像,它将正常工作。
### 💡额外提示:在 Ubuntu 中使用 docker 而无需 sudo ### 💡 额外提示:在 Ubuntu 中使用 Docker 而无需 sudo
如果你注意到了,我使用 sudo 来拉取 docker 镜像,这并不是使用 Docker 最方便的方式。 如果你注意到了,我使用 sudo 来拉取 Docker 镜像,这并不是使用 Docker 最方便的方式。
如果你尝试在不使用 sudo 的情况下使用 Docker则会出现错误 如果你尝试在不使用 sudo 的情况下使用 Docker则会出现错误
@ -192,33 +164,25 @@ Docker 为你提供了一个 Hello World 镜像,你可以使用它来测试安
好吧,在本节中,我将向你展示如何在没有 sudo 的情况下使用 Docker。 好吧,在本节中,我将向你展示如何在没有 sudo 的情况下使用 Docker。
📋 > 📋 要执行所示步骤,必须具有超级用户权限!
要执行所示步骤,必须具有超级用户权限! 第一步是使用以下命令 [创建一个名为 docker 的新组][10]
第一步是使用以下命令[创建一个名为 `Docker` 的新组][10] ```
sudo groupadd docker
```
```` 完成后,使用以下命令将用户添加到 `docker` 组:
sudo groupadd docker ```
sudo usermod -aG docker <用户名>
```
```` > 🚧 确保你只添加具有超级用户权限的用户。
完成后,使用以下命令将用户添加到 Docker 组:
````
sudo usermod -aG docker <用户名>
````
🚧
确保你只添加具有超级用户权限的用户。
现在,注销并重新登录以使更改生效。但如果你使用的是虚拟机,那么必须重新启动。 现在,注销并重新登录以使更改生效。但如果你使用的是虚拟机,那么必须重新启动。
就是这样!从现在开始,你可以使用 docker 命令而不需要 sudo就像我运行 Docker Hello World 镜像一样: 就是这样!从现在开始,你可以使用 `docker` 命令而不需要 sudo就像我运行 Docker Hello World 镜像一样:
![][11] ![][11]
@ -226,12 +190,14 @@ Docker 为你提供了一个 Hello World 镜像,你可以使用它来测试安
### 这是安装 Docker 后要做的事情 ### 这是安装 Docker 后要做的事情
如果你刚刚开始,请参阅每个用户都必须了解的[基本 Docker 命令列表][12] 如果你刚刚开始,请参阅每个用户都必须了解的 [基本 Docker 命令列表][12]
![][13] > **[21 个基本 Docker 命令][12]**
我希望你觉得会有帮助。 我希望你觉得会有帮助。
*题图DA/759e483b-0be8-409e-bc58-ed19d99cbdd4*
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
via: https://itsfoss.com/install-docker-ubuntu/ via: https://itsfoss.com/install-docker-ubuntu/
@ -239,7 +205,7 @@ via: https://itsfoss.com/install-docker-ubuntu/
作者:[Sagar Sharma][a] 作者:[Sagar Sharma][a]
选题:[lujun9972][b] 选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi) 译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
@ -258,3 +224,4 @@ via: https://itsfoss.com/install-docker-ubuntu/
[11]: https://itsfoss.com/content/images/2023/12/Use-docker-without-sudo-in-Ubuntu.png [11]: https://itsfoss.com/content/images/2023/12/Use-docker-without-sudo-in-Ubuntu.png
[12]: https://linuxhandbook.com/essential-docker-commands/ [12]: https://linuxhandbook.com/essential-docker-commands/
[13]: https://linuxhandbook.com/content/images/size/w256h256/2021/08/Linux-Handbook-New-Logo.png [13]: https://linuxhandbook.com/content/images/size/w256h256/2021/08/Linux-Handbook-New-Logo.png
[0]: https://img.linux.net.cn/data/attachment/album/202401/03/224510gfpbdwbdvbmverbg.jpg