[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]