如何在 Ubuntu Linux 上安装 Docker

Docker 席卷了软件工程行业,它不仅彻底改变了我们发布和部署软件的方式,还改变了工程师在他们的计算机上设置软件开发环境的方式。

本指南向您展示如何通过在 Ubuntu Linux 20.04 (Focal Fossa) 上安装 Docker 来开始使用,这是撰写本文时最新的 Ubuntu 长期支持 (LTS) 版本。

Docker的优势

Docker 是一个开源平台,允许您将应用程序自动化和部署为称为容器的独立包。 Docker 使用操作系统虚拟化技术,但与虚拟机不同,它对系统资源的占用要轻得多。

Docker 的一些主要优势包括:

  • 相对容易使用和学习
  • 提供一致且简单的软件部署方式
  • 兼容微服务架构
  • 资源使用非常少

设置 Docker 软件存储库

有几种安装 Docker 的方法,本指南将向您展示如何使用 apt 命令实用程序从 Docker 存储库安装 Docker。 以这种方式安装 Docker 可以让您在以后轻松升级 Docker 包,也是 Docker 团队推荐的方式。

安装的第一步是将 Docker 软件存储库添加到您的软件源列表中。 您将通过 HTTPS 使用 Docker 软件存储库,然后使用以下命令安装所需的软件。

作为一种好的做法,首先更新您的可用软件包列表。

sudo apt update

然后,下载安装所需的所有依赖项 安装.

sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release

Docker 软件使用 GnuPG,也称为 GPG,用于在从其存储库下载软件包时保护通信。 GPG 是 PGP(Pretty Good Privacy)的一种实现标准,用于加密消息或数据。

要将官方 Docker GPG 密钥添加到本地密钥环,请使用以下命令。

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Docker 在其软件存储库中有三个主要的软件发布版本:稳定版、测试版和夜间发布版。 本指南将讨论 Docker 的稳定版本。

运行以下命令以使用 Docker 的稳定存储库发布版本。

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

笔记: 上述命令假设您使用的是 AMD 架构。 如果你碰巧使用的是 ARM 架构,你可以替换这个词 拱=amd64 在上面的命令中 拱=arm64, 或者 拱=armhf 如果您使用手臂硬浮动。

安装 Docker 引擎

现在您已经设置了 Docker 软件存储库,您可以继续安装 Docker 引擎,它是管理和运行 Docker 容器的核心。 构成 Docker 引擎的其他重要组件包括 Docker 客户端、containerd、runc 和 Docker 守护程序。

确保使用以下命令更新您的包源,因为您最近已将 Docker 存储库添加到您的软件源列表中。

sudo apt update

要安装 Docker 引擎,请运行以下命令。 该命令将默认安装最新的稳定版本的 Docker 引擎。

sudo apt-get install docker-ce docker-ce-cli containerd.io

如果您希望安装某些特定版本的 Docker,您可以首先使用以下命令检查可用版本列表。

apt-cache madison docker-ce

然后,您可以使用以下命令安装特定版本的 Docker。 为了 example, 安装 5:20.10.6~3-0~ubuntu-focal

sudo apt-get install docker-ce=5:20.10.6~3-0~ubuntu-focal docker-ce-cli=5:20.10.6~3-0~ubuntu-focal containerd.io

确认安装

要检查 Docker 是否安装成功,可以运行以下命令,它会输出安装的 Docker Engine 的版本号。

docker -v

在 Ubuntu Linux 和大多数基于 Debian 的发行版中,Docker 服务将在系统启动时自动启动。

您可以尝试运行 你好世界 用于测试安装的 Docker 映像。 由于镜像在您的计算机上本地不可用,系统将从 Docker Hub(容器镜像库)下载它。 下次您再次运行映像时,它将使用您 PC 上的本地副本。

sudo docker run hello-world

以非 root 用户身份运行 Docker

目前您只能以超级用户身份运行 Docker 容器,这就是为什么 sudo 在上面的命令中使用。 Docker 守护进程绑定到一个 Unix 套接字,该套接字默认归 root 用户所有,非 root 用户只能通过 sudo.

为了能够在不成为超级用户的情况下运行 Docker 容器和其他重要命令,首先需要创建一个名为的用户组 码头工人 然后将您的用户添加到您机器上的 docker 组。 这 组添加 command 负责管理 Linux 中的用户组。

sudo groupadd docker
sudo usermod -aG docker $USER

使用以下命令激活组更改。

newgrp docker

笔记: 记得注销再重新登录,以便系统识别新创建的组成员。 您可以使用以下命令注销。

gnome-session-quit

在某些情况下,如果您仍然无法以非 root 用户身份执行 Docker 命令,则可能需要重新启动计算机。

卸载 Docker

要从 Ubuntu Linux 中删除或卸载 Docker 引擎,只需运行以下命令。

sudo apt remove docker docker-engine docker.io containerd runc

尽管 Docker 引擎已被移除,但与 Docker 关联的其他文件(例如图像、容器、卷或自定义配置文件)不会自动移除。 您可以使用 rm 实用程序删除这些文件。

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

Docker 实践

本指南向您展示如何在 Ubuntu Linux 上安装和配置 Docker。 此外,它还向您展示了如何运行从 Docker Hub 获取的简单 docker 映像。

Docker 是一个非常通用的工具,它在软件工程中有很多用例。 如果您是软件工程师或从事 DevOps 工作,Docker 将简化您在不同环境中部署软件的方式,并且对于测试和原型设计软件很有用。