服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Fedora - 在Fedora 32上运行Docker

在Fedora 32上运行Docker

2020-07-22 00:30Linux中国Kevin "eonfge" Degel Fedora

随着 Fedora 32 的发布,Docker 的普通用户面临着一个小挑战。在编写本文时,Fedora 32 不支持 Docker。虽然还有其他选择,例如 Podman 和 Buildah,但是对于许多现有用户而言,现在切换可能不是最佳时机。因此,本文可以帮助你在 Fedora

在Fedora 32上运行Docker

随着 Fedora 32 的发布,Docker 的普通用户面临着一个小挑战。在编写本文时,Fedora 32 不支持 Docker。虽然还有其他选择,例如 Podman 和 Buildah,但是对于许多现有用户而言,现在切换可能不是最佳时机。因此,本文可以帮助你在 Fedora 32 上设置 Docker 环境。

步骤 0:消除冲突

 

此步骤适用于从 Fedora 30 或 31 升级的任何用户。如果全新安装的 Fedora 32,那么可以跳到步骤 1。

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

  1. sudo dnf remove docker-*
  2. sudo dnf config-manager --disable docker-*

步骤 1:系统准备

 

在 Fedora 的最后两个版本中,操作系统已迁移到两项新技术: CGroups 和用于防火墙的 NFTables。尽管这些新技术的详细信息不在本教程的讨论范围之内,但是令人遗憾的是,Docker 还不支持这些新技术。因此,你必须进行一些更改才能在 Fedora 上使用 Docker。

启用旧的 CGroups

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

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

在防火墙中将 Docker 列入白名单

为了让 Docker 具有网络访问权限,需要两个命令:

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

第一个命令将 Docker 接口添加到受信任的环境,它允许 Docker 建立远程连接。第二个命令将允许 Docker 建立本地连接。当有多个 Docker 容器作为开发环境时,这特别有用。

步骤 2:安装 Moby

 

Moby 是 Docker 的开源白牌版本。它基于相同的代码,但不带商标。它包含在 Fedora 的主仓库中,因此很容易安装:

  1. sudo dnf install moby-engine docker-compose

这将安装 moby-enginedocker-composecontainerd 和其他一些相关的库。安装完成后,你必须启用系统级守护程序才能运行 Docker:

  1. sudo systemctl enable docker

步骤 3:重新启动并测试

 

为了确保正确处理所有系统和设置,你现在必须重启计算机:

  1. sudo systemctl reboot

之后,你可以使用 Docker hello-world 包来验证安装:

  1. sudo docker run hello-world

除非遇到问题,不然你就会看到来自 Docker 的问候!

以管理员身份运行

可选地,你现在还可以将用户添加到 Docker 的组帐户中,以便无需输入 sudo 即可启动 Docker 镜像:

  1. sudo groupadd docker
  2. sudo usermod -aG docker $USER

注销并登录以使更改生效。如果以管理员权限运行容器的想法让你有所顾虑,那么你应该研究 Podman。

总结

 

从现在起,Docker 将按照你的习惯工作,包括 docker-compose 和所有与 docker 相关的工具。不要忘记查看官方文档,这在很多情况下可以为你提供帮助。

Fedora 32 上 Docker 的当前状态并不理想。缺少官方软件包可能会困扰一些人,有一个上游问题对此进行了讨论。对 CGroups 和 NFTables 缺少支持更多是技术问题,但是你可以查看它们在其公共问题上的进展。

这些指导应可以让你就像什么都没有发生一样继续工作。如果这不能满足你的需求,请不要忘记到 Moby 或 Docker Github 页面去寻求解决你的技术问题,或者看看 Podman,长期来看,它可能会更加强大。

延伸 · 阅读

精彩推荐
  • FedoraFedora20 32位系统中安装搜狗拼音输入法图文教程

    Fedora20 32位系统中安装搜狗拼音输入法图文教程

    这篇文章主要介绍了Fedora20 32位系统中安装搜狗拼音输入法图文教程,64位系统有一个RPM包可以直接安装,32位系统没有,所以要手动安装,需要的朋友可以参考下...

    Fedora技术网6102019-10-16
  • Fedora如何在 Fedora Linux 上安装 Brave 浏览器

    如何在 Fedora Linux 上安装 Brave 浏览器

    在本教程中,你将学习如何在 Fedora Linux 上安装 Brave。你还将学习如何更新和删除它。...

    Linux中国4552021-11-29
  • FedoraFC8下备份linux系统

    FC8下备份linux系统

    linux系统可以使用tar来备份。 我在FC8上装好了totem, mplayer, audacious, 并搞定了wifi后,我觉得该备份一下FC8系统。 IBM R31+TP-LINK 310G Windows XP+FC8 备份前在FC8下卸...

    脚本之家4282019-10-12
  • Fedorafedora7下共享上网

    fedora7下共享上网

    家里有2台机器,一台linux,一台xp,为了共享上网,linux作为主机,我安装的是fc7,下载firestarter,安装这个之前安装xmlparser。安装好了后,出来一个界面配...

    fedora教程网4332019-10-12
  • FedoraUbuntu和Fedora上通过图形化界面或源码安装软件包的方法

    Ubuntu和Fedora上通过图形化界面或源码安装软件包的方法

    这篇文章主要介绍了Ubuntu和Fedora上通过图形化界面或源码安装软件包的方法,Ubuntu和Fedora分别是Debian系和CentOS系Linux系统中自带桌面环境比较优秀的代表,需要...

    开源中文社区5212019-10-17
  • FedoraSamba中文显示乱码解决办法

    Samba中文显示乱码解决办法

    Samba显示中文乱码,添加下面的内容到smb.conf中 client code page = 936 dos charset = cp936 unix charset = cp936...

    脚本之家4112019-10-14
  • FedoraFC7中用yum自动搜索安装软件

    FC7中用yum自动搜索安装软件

    有些包在http://rpm.livna.org上,要先安装http://rpm.livna.org/livna-release-7.rpm这个包才能用yum安装 #yum install stardict mplayer gftp zip unrar multiget azureus amsn wine gnochm 不过...

    fedora教程网4832019-10-12
  • Fedorafedora8 linux挂载DVD光盘或ISO镜像为源的方法

    fedora8 linux挂载DVD光盘或ISO镜像为源的方法

    1、先挂载DVD光盘或ISO镜像文件 2、修改/etc/yum.repos.d/fedora.repo 用root权限修改/etc/yum.repos.d/fedora.repo,原文件的第一部分如下: [fedora] name=Fedora $releasever - $b...

    fedora教程网5802019-10-14