如何在 Ubuntu 20.04 上安装 Docker:分步指南
Docker 是一个容器化平台,可让用户在容器中打包和运行应用。这些容器提供与虚拟机相似的隔离级别,但在资源使用方面具有更好的可移植性和更高的效率。此外,凭借其独特的隔离和安全特性,可以在单台主机上同时运行大量容器。
容器是独立自主的软件实体或单元,包含各自独有的应用代码、配置设置以及所需的依赖项。Docker 采用客户端-服务器模型,由 Docker 守护进程负责管理容器。
在本指南中,我们将演示如何在 Ubuntu 20.04 上安装 Docker,并介绍用于管理容器的各种 Docker 命令。如果您想进一步了解 Docker 相关操作,还可以阅读如何在 Ubuntu 上安装 Docker Compose。
在 Ubuntu 系统上安装 Docker 需要满足以下前提条件:
- 一台正在运行的 Ubuntu 20.04 或更高版本服务器。
- 用户需要拥有 root 或 sudo 权限才能安装 Docker。
现在,让我们详细了解 Docker 的安装过程!
在 Ubuntu 20.04 上安装 Docker
Ubuntu 默认软件源中提供了 Docker 软件包,但不一定是最新版本。因此,我们将使用 Docker 官方软件源来获取最新版本的 Docker。要在 Ubuntu 20.04 系统上使用 Docker 软件源,您需要添加新的软件包源和 Docker 的 GPG 密钥,才能正常完成安装。
在 Ubuntu 20.04 上安装 Docker 的步骤
要在 Ubuntu 20.04 上安装 Docker,请使用快捷键“Ctrl+Alt+t”打开“终端”,然后按照以下步骤操作:
第 1 步:删除现有的 Docker 安装
在 Ubuntu 20.04 上开始安装 Docker 之前,建议先从系统中删除不需要的现有 Docker 安装包或文件。您可以运行以下命令删除这些软件包:
$ sudo apt-get remove docker docker-engine docker.io
执行上述命令后,需要输入“sudo”密码并按“Enter”键。
第 2 步:更新 Apt 软件包仓库
执行以下命令更新系统 apt 仓库:
$ sudo apt update
第 3 步:安装 Docker 所需的依赖项
现在,您需要安装在 Ubuntu 系统上运行 Docker 所必需的重要依赖项。为此,请安装支持 SSL 数据传输的“apt-transport-https”、“ca-certificates”,以及用于管理 PPA 的“software-properties-common”。另外,还需安装“curl”,用于从互联网下载 GPG 密钥和数据。
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
执行上述命令后,系统将安装所有必需的软件包,使“apt”能够通过 HTTPS 使用软件包。
第 4 步:下载 Docker 仓库的 GPG 密钥
安装好前提软件后,使用以下命令下载 Docker 官方仓库的 GPG 密钥,并将其添加到 apt-key 受信任密钥管理器中:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
第 5 步:将 Docker 仓库添加到 Ubuntu 20.04
下载 GPG 密钥后,执行以下命令将 Docker 仓库添加到系统的 Apt 软件源中:
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
按“Enter”键将 Docker 仓库添加到 Ubuntu 系统。您应检查“docker-ce”软件包的安装源优先级,确保它将从您最近添加的软件仓库中安装。运行以下命令进行检查:
$ sudo apt-cache policy docker-ce
第 6 步:在 Ubuntu 20.04 上安装 Docker
在 Ubuntu 上安装 Docker 之前,最好先更新系统的 apt 软件包索引。无论您是否在本地操作,都请确保获取最新的安装包信息。
$ sudo apt update
更新所有仓库后,就可以在 Ubuntu 20.04 上安装 Docker 了。这里我们将安装 Docker 社区版。该版本提供完整的核心功能,但不包含商业支持。此外,它通常不包含中小型企业往往用不到的企业级功能。执行以下命令在 Ubuntu 上安装 Docker:
$ sudo apt install docker-ce
上述命令会自动获取并安装 Ubuntu 系统所需的全部 Docker 软件包。安装完成后,Docker 服务应已在系统上启动运行。
第 7 步:启动 Docker 服务
Docker 安装完成后,其服务会在系统上自动启用并启动。您可以使用以下命令检查 Docker 服务的运行状态:
$ sudo systemctl status docker
如果发现 Docker 服务被禁用或未运行,可以在终端中运行以下命令手动启用并启动它:
$ sudo systemctl enable docker
$ sudo systemctl start docker
现在,再次检查 Docker 服务状态:
$ sudo systemctl status docker
可以看到,Docker 服务已在该系统上启动并运行。
第 8 步:检查 Docker 版本
安装完成后,使用以下命令查看 Docker 版本,以显示 Docker 的相关信息:
$ sudo docker version
终端窗口中应显示已安装的 Docker 版本。
您也可以使用另一种方式查看系统上当前运行的 Docker 的信息:
$ sudo docker info
在 Ubuntu 20.04 上不使用“sudo”运行 Docker 命令
默认情况下,只有 root 用户或 Docker 组中的用户才能运行 docker 命令,该组会在 Docker 安装过程中自动创建。如果您在运行 Docker 命令时没有加 sudo 前缀,也不在 Docker 组中,那么当命令尝试连接 Docker 守护进程套接字时,就会出现“permission denied”错误。
为了在运行 Docker 命令时不必加“sudo”前缀,您需要将该“用户”添加到 Docker 组。之后,您就可以以非 root 用户身份运行 docker 命令:
$ sudo usermod -aG docker username
要使新的 Docker 组成员身份生效,请重启系统,或从当前账户注销服务器。然后重新登录系统并运行以下命令:
$ su - username
使用以下命令确认该用户是否已添加到 Docker 组:
$ groups
如何在 Ubuntu 20.04 上运行 Docker 命令?
在本节中,我们将在 Ubuntu 系统上了解并运行各种 Docker 命令。Docker 命令由一系列选项和子命令组成,后面跟随参数。要查看所有 Docker 子命令,请在终端中输入“docker”:
$ docker
要查看系统范围的信息,请运行以下命令:
$ docker info
运行 Docker 镜像
Docker 镜像就像 Docker 容器的构建模块。Docker 从名为 Docker Hub 的仓库中拉取这些镜像,它就像一个由 Docker 公司管理的大型存储库或注册中心。由于任何人都可以在其中发布自己的 Docker 镜像,您可能想用的许多程序和组件都存放在那里。
让我们运行 Docker 的测试镜像“hello-world”。要运行 Docker“hello-world”镜像,请使用以下命令:
$ docker run hello-world
上述命令会先在本地查找 hello-world 镜像。如果找不到,就会从 Docker Hub 仓库拉取该镜像。Docker 会自动下载该镜像并在 Docker 容器中运行它。如果该镜像在您的 Ubuntu 系统上成功运行,您将看到以下输出:
搜索 Docker 镜像
要在 Docker Hub 上查找镜像,可以使用带“search”选项的“docker”命令。例如,如果您想查找“MongoDB”镜像,可以输入:
$ docker search MongoDB
拉取 Docker 镜像
搜索到 Docker 镜像后,就可以从 Docker Hub 拉取它们。例如,您搜索了 MongoDB 的 Docker 镜像,在搜索结果中可以看到“mongo”镜像可供下载。要从 Docker Hub 下载(拉取)该镜像,请使用以下命令:
$ docker pull mongo
查看 Docker 镜像
要列出所有本地 Docker 镜像,请使用以下命令:
$ docker images
可以看到,“hello-world”镜像现在已存在于本地 Docker 镜像库中。
列出 Docker 容器记录
要列出所有 Docker 容器记录或容器状态,请运行以下 Docker 命令:
$ docker container ls -a
管理 Docker 容器
运行 Docker 命令后,您还可以管理 Docker 容器。要查看活动的 Docker 容器,请使用以下命令:
$ docker ps
要查看所有活动和非活动的 Docker 容器,请带上“-a”参数执行“docker ps”:
$ docker ps -a
从上面的截图可以看到,该命令会显示所有 Docker 容器。这里创建了两个容器,一个是“hello-world”,另一个是“mongo”。
您可以通过容器的“Names”(名称)启动现有的 Docker 容器。例如,要启动“mongo”容器,可以使用以下命令:
$ docker container start charming_noyce
现在,再次运行“docker ps”命令:
可以看到,“mongo”容器已在该系统上启动并运行。
要在正在运行的容器中打开命令行 shell,请使用 docker exec -it 命令:
$ docker exec -it charming_noyce /bin/bash
现在,您可以在该容器内运行 Linux 命令或安装应用:
结论
在本指南中,我们介绍了如何在 Ubuntu 20.04 上安装 Docker,还了解了一些有助于管理容器的实用 Docker 命令。
借助 Docker,用户可以在同一套硬件上运行多个容器,隔离和管理应用,从而提高工作效率。此外,按照上述说明,您还可以在具备更多高级功能的 Linux VPS 服务器上安装 Docker。
如果您还有任何疑问,欢迎在评论中留言。谢谢!