如何在AlmaLinux 8上安装和使用Docker
Docker 是面向开发人员和系统管理员的强大平台,可简化在软件容器内部署应用程序的过程。容器允许您打包应用程序及其所有部分(代码、运行时、系统工具、系统库 - 通常位于 /usr/bin 或 /usr/lib 中的任何内容),因此它可以在任何 Linux 机器上一致地运行。这包括操作系统内核和其他共享资源,例如内存和磁盘空间。 Docker 为开发和生产环境提供了一个可移植的环境。您可以从一组文件创建一个可以在其他任何地方工作的容器,而不必担心每个新服务器上的依赖关系不同。
Docker CE 对于 Linux 用户很有用,因为它可以帮助他们创建自己的环境,而不会影响系统上的其他用户。它还可以实现部署自动化,从而消除配置错误,并使跨软件应用程序开发团队的项目管理变得轻松。
在本指南中,我们将了解如何安装 Docker CE 以在 AlmaLinux 8 系统上创建和管理开发环境。
先决条件
为了使本文有用,您需要满足以下条件:
- 正在运行的 AlmaLinux 8 系统。
- 至少 15GB 可用磁盘空间。对于每个要启动的 Docker 容器,您可以使用一个或多个 vCPU。
- 具有 sudo 权限的非 root 用户。
步骤一:更新系统
有一些安全更新可以帮助保护您的系统免受恶意软件和其他计算机攻击。还有内核更新,添加新功能或提高视频卡和 USB 控制器等硬件设备的性能。
这些可以通过 AlmaLinux 8 上的 dnf update 命令安装。
sudo dnf -y update
第2步:添加Docker CE存储库
对于基于 Red Hat 的 Linux 系统,有一个开放的 Docker CE 存储库,其中包含用于安装的 rpm 包。在AlmaLinux 8上安装Docker CE之前,我们需要添加此存储库。
要将 Docker CE 存储库添加到 Rocky Linux 8 系统,请执行下面列出的命令。
sudo dnf install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
要确认存储库已正确添加,您可以运行此命令。
sudo dnf repolist
第三步:安装Docker CE
现在我们已经添加了存储库,我们可以使用它来安装 Docker CE。
sudo dnf -y update
sudo dnf -y install docker-ce docker-ce-cli containerd.io
该命令将为AlmaLinux 8安装最新的docker软件包。它会安装Docker CE,其中包括Docker、容器和命令行工具。
安装完成后,您可以使用此命令启动 Docker CE。
sudo systemctl start docker
可以通过该命令检查服务是否启动成功。
sudo systemctl status docker
您应该看到以下输出,这意味着一切正常。
如果您希望 Docker CE 在 AlmaLinux 8 启动时自动启动,请运行此命令。
sudo systemctl enable docker
步骤 4:将非 root 用户添加到 Docker 组
Docker CE使用虚拟化,需要以特权用户身份运行。重要的是 Docker 只能由 root 用户访问。要在AlmaLinux 8上进行设置,我们需要向Docker组添加新的非root用户。否则,您可能无法访问虚拟化设施并遇到权限被拒绝的错误。要将新的非 root 用户添加到 Docker 组,我们需要执行以下命令。
sudo usermod -aG docker $USER
其中: $USER 是您的非 root 用户用户名。在此示例中,我们添加一个名为 vitux 的用户。
运行此命令后,注销并重新登录系统。这将确保正确应用更改。
此时,您可以通过运行此命令来验证非root用户是否是Docker组的成员。
id vitux
步骤 5:测试 Docker CE 安装
现在我们已经安装了 Docker CE,是时候测试一切是否按预期工作了。
为此,我们需要一个用于测试的容器映像。幸运的是,已经有一个图像可用于测试目的。让我们通过运行以下命令来运行 hello-world 容器来测试安装。
sudo docker pull hello-world
sudo docker run hello-world
此命令将从 Docker hub 中提取最新的 hello-world 映像并将其作为容器运行。它会在您的终端上写入 Hello from Docker! 消息并退出,如下所示。
此输出确认安装成功。
如果不是,则说明 Docker 包有问题,或者用户尚未添加到 Docker 组。
第 6 步:出于开发目的运行 Docker 容器
现在 Docker CE 已启动并运行,让我们将其用作 AlmaLinux 8 的开发环境。当您在上一步中启动 hello-world 容器时,您正在运行一个虚拟机 (VM),该虚拟机运行并在执行活动后离开。它运行,发出 Hello from Docker! 输出,并在完成后立即退出。
Docker 容器比这个默认示例更有帮助。 Docker 容器与虚拟机相同,但有一个例外:它们占用的资源较少。
例如,使用 Docker 中心提供的最新 Ubuntu 映像运行容器。
docker pull ubuntu
docker run -it ubuntu
该命令将拉取最新的 Ubuntu 映像,并将在交互式会话中运行(即,它保持连接到您的 AlmaLinux 8 终端),如下所示。
您的命令提示符应更改为带有 id 的井号 (#)。在本例中,它是 f5221423e0b9。这表明容器已启动并正在运行,并且您可以在其中运行命令。
当您以 root 用户身份运行此容器时,您可以在容器内运行任何不带前缀 sudo 的命令。您在容器中所做的任何更改只会影响容器。它不会影响您当前登录的操作系统(AlmaLinux 8)。
让我们运行 apt update 命令来更新包管理系统。
apt update
您应该看到以下输出,这意味着一切正常。
要退出容器,您可以在提示符下键入 exit 并按 Enter。
结论
在本教程中,我们向您展示了如何在AlmaLinux 8系统上安装Docker CE。我们希望它能帮助您安装 Docker,现在您已经准备好使用它的各种设施了。
关于Docker的更多信息,可以查看官方文档。