码头工人和 Fedora 32

[ad_1]

随着发布 Fedora 32、普通用户 码头工人 遇到了一个小小的挑战。 在撰写本文时,Docker 不受支持 Fedora 32. 有其他选择,比如 波德曼建筑,但对于许多现有用户来说,现在切换可能不是最佳时机。 因此,本文可以帮助您设置 Docker 环境 Fedora 32.

笔记:一篇关于 Docker 和 Fedora 34/35 现在可用。

步骤 0:消除冲突

此步骤适用于从以下位置升级的任何用户 Fedora 30 或 31。如果这是全新安装的 Fedora 32,您可以继续执行步骤 1。

要删除 docker 及其所有相关组件:

sudo dnf remove docker-*
sudo dnf config-manager --disable docker-*

第一步:系统准备

随着最后两个版本 Fedora,操作系统已转向两项新技术:用于防火墙的 CGroups 和 NFTables。 虽然这些新技术的细节超出了本教程的范围,但遗憾的是 docker 还不支持它们。 因此,您必须进行一些更改以促进 Docker Fedora.

启用旧的 CGroups

仍然支持 CGroups 的先前实现,可以使用以下命令启用它。

sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"

防火墙中的白名单泊坞窗

为了让 Docker 能够访问网络,需要两个命令。

sudo firewall-cmd --permanent --zone=trusted --add-interface=docker0
sudo firewall-cmd --permanent --zone=FedoraWorkstation --add-masquerade

第一个命令会将 Docker 接口添加到允许 Docker 进行远程连接的受信任环境中。 第二个命令将允许 docker 进行本地连接。 当多个 Docker 容器作为开发环境时,这尤其有用。

第 2 步:安装 Moby

白鲸 是 Docker 的开源白标版本。 它基于相同的代码,但不带有商标。 它包含在主 Fedora 存储库,这使得它易于安装。

sudo dnf install moby-engine docker-compose

这将安装 moby-engine、docker-compose、containerd 和一些其他相关库。 安装后,您必须启用系统范围的守护程序才能运行 docker。

sudo systemctl enable docker

第 3 步:重新启动并测试

为确保正确处理所有系统和设置,您现在必须重新启动机器。

sudo systemctl reboot

之后,您可以使用 Docker hello-world 包验证您的安装。

sudo docker run hello-world

然后你会收到来自 Docker 的问候! 除非出了什么问题。

运行为 admin

或者,您现在还可以将您的用户添加到 Docker 的组帐户中,以便您无需键入即可启动 docker 镜像 sudo.

sudo groupadd docker
sudo usermod -aG docker $USER

注销并登录以使更改生效。 如果您对以管理员权限运行容器的想法感到担忧,那么您应该研究一下 Podman。

总之

从现在开始,Docker 将按照您习惯的方式工作,包括 docker-compose 和所有与 docker 相关的工具。 不要忘记查看官方文档,它可以在许多不太正确的情况下为您提供帮助。

Docker 的当前状态 Fedora 32 并不理想。 缺少官方软件包可能会困扰一些人,并且有一个 问题上游 这是讨论的地方。 缺少对两者的支持 群组NFTables 更具技术性,但您可以查看他们在公共问题上的进展。

这些说明应该允许您像什么也没发生一样继续工作。 如果这不能满足您的需求,请不要忘记在 Moby 或 Docker Github 页面上解决您的技术问题,或者查看 Podman,它在长期的未来可能会更加强大。

[ad_2]

Related Posts