如何在 Fedora 38 上安装 Podman

Linux命令 Edge插件网 1年前 (2023-08-16) 319次浏览 已收录 0个评论

Podman 是一个容器管理工具,允许用户运行、管理和与容器交互,而无需在后台运行守护进程。它与Docker和OCI(开放容器计划)标准兼容,使其成为在Fedora 38上管理容器的多功能选择。

如何在 Fedora 38 上安装 Podman

在 Fedora 38 上安装 Podman

第 1 步。在我们可以在 Fedora 38安装 Podman 之前,重要的是要确保我们的系统是最新的软件包。这将确保我们可以访问最新功能和错误修复,并且我们可以毫无问题地安装 Podman

<span class="pln">sudo dnf update</span>

第 2 步。在 Fedora 38安装 Podman

现在我们已经准备好了系统,我们可以继续在 Fedora 38 上安装 Git。有两种常见的安装方法:使用包管理器和从源代码构建。

  • A. 方法 1:使用 DNF 包管理器

系统更新后,您可以通过运行以下命令安装 Podman

<span class="pln">sudo dnf install podman</span>

安装完成后,您可以通过运行以下命令来验证 Podman 是否已正确安装:

<span class="pln">podman version</span>

此命令将显示系统上安装的 Podman 版本。

  • B. 方法二:从源头构建豆荚人

确保您拥有构建 Podman 所需的开发工具和库:

<span class="pln">sudo dnf install make gcc git golang glibc</span><span class="pun">-</span><span class="pln">devel btrfs</span><span class="pun">-</span><span class="pln">progs</span><span class="pun">-</span><span class="pln">devel device</span><span class="pun">-</span><span class="pln">mapper</span><span class="pun">-</span><span class="pln">devel ostree</span><span class="pun">-</span><span class="pln">devel</span>

为 Podman 源代码创建一个目录:

<span class="pln">mkdir </span><span class="pun">-</span><span class="pln">p </span><span class="pun">~</span><span class="str">/podman-source && cd ~/</span><span class="pln">podman</span><span class="pun">-</span><span class="pln">source</span>

从 GitHub 克隆 Podman 存储库:

<span class="pln">git clone https</span><span class="pun">:</span><span class="com">//github.com/containers/podman.git</span>

移动到 Podman 源目录:

<span class="pln">cd podman</span>

从源代码编译 Podman:

<span class="pln">make BUILDTAGS</span><span class="pun">=</span><span class="str">"selinux seccomp"</span>

编译完成后,安装 Podman

<span class="pln">sudo make install</span>

第 3 步。在 Fedora 38 上配置 Podman。

成功安装后,是时候配置 Podman 并对其进行设置以实现流畅的容器管理了。

  • A. 初始化 Podman

启动 Podman 并初始化所需的存储和网络组件:

  • B. 验证安装

要确保 Podman 正确安装并运行,请检查版本:

<span class="pln">podman </span><span class="pun">--</span><span class="pln">version</span>
  • C. 配置 Podman 无根容器

默认情况下,Podman 运行启用了无根容器的容器,从而提供了额外的安全层。但是,为了确保无根容器无缝工作,您必须在系统上启用用户命名空间。为此,请按照下列步骤操作:

<span class="pln">sudo touch </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">subuid </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">subgid</span>

将您的用户添加到 和 文件。替换为您的实际用户名:/etc/subuid/etc/subgidusername

<span class="pln">sudo echo </span><span class="str">"username:100000:65536"</span> <span class="pun">>></span> <span class="str">/etc/</span><span class="pln">subuid
sudo echo </span><span class="str">"username:100000:65536"</span> <span class="pun">>></span> <span class="str">/etc/</span><span class="pln">subgid</span>

更新用户命名空间配置:

<span class="pln">echo </span><span class="str">"user.max_user_namespaces=28633"</span> <span class="pun">|</span><span class="pln"> sudo tee </span><span class="pun">-</span><span class="pln">a </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">sysctl</span><span class="pun">.</span><span class="pln">conf
sudo sysctl </span><span class="pun">--</span><span class="pln">system
</span>
  • D. 管理容器存储

默认情况下,Podman 将容器镜像、卷和相关数据存储在目录中。若要更改存储位置,请按照下列步骤操作:/var/lib/containers

<span class="pln">
</span><code class=" prettyprinted"></code>
<span class="pln">sudo mkdir </span><span class="pun">-</span><span class="pln">p </span><span class="pun">/</span><span class="pln">path</span><span class="pun">/</span><span class="pln">to</span><span class="pun">/</span><span class="kwd">new</span><span class="pun">/</span><span class="pln">container</span><span class="pun">/</span><span class="pln">storage</span>

编辑 Podman 配置文件:

<span class="pln">sudo nano </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">containers</span><span class="pun">/</span><span class="pln">storage</span><span class="pun">.</span><span class="pln">conf</span>

使用新的存储路径更新该选项:graphroot

<span class="pun">[</span><span class="pln">storage</span><span class="pun">]</span><span class="pln">
driver </span><span class="pun">=</span> <span class="str">"overlay"</span><span class="pln">
runroot </span><span class="pun">=</span> <span class="str">"/run/containers/storage"</span><span class="pln">
graphroot </span><span class="pun">=</span> <span class="str">"/path/to/new/container/storage"</span>
保存并退出,然后重新启动 Podman 服务以使更改生效:
<span class="pln">sudo systemctl restart podman</span>

第 4 步。基本吊舱人命令。

现在 Podman 已经安装和配置完毕,让我们探讨一些使用容器的基本命令。

A. 运行容器

若要启动容器,请使用以下命令:

<span class="pln">podman run </span><span class="pun">-</span><span class="pln">d </span><span class="pun">-</span><span class="pln">p </span><span class="lit">8080</span><span class="pun">:</span><span class="lit">80</span> <span class="pun">--</span><span class="pln">name my_app nginx</span><span class="pun">:</span><span class="pln">latest</span>

解释:

  • -d:分离容器并在后台运行。
  • -8080:80:将主机上的端口 8080 映射到容器中的端口 80。
  • --name my_app:将名称“my_app”分配给正在运行的容器。
  • nginx:latest:要使用的图像和标记的名称。

B. 停止和移除容器

要停止正在运行的容器,请使用以下命令:stop

<span class="pln">podman stop my_app</span>

若要删除已停止的容器,请使用以下命令:rm

<span class="pln">podman rm my_app</span>

C. 列出容器

要查看正在运行的容器的列表,请使用以下命令:ps

<span class="pln">podman ps</span>

若要查看所有容器(包括已停止的容器),请添加以下选项:-a

<span class="pln">podman ps </span><span class="pun">-</span><span class="pln">a</span>

第5步。对 Fedora 38 上的 Podman 进行故障排除。

尽管它很健壮,但在使用 Podman 时您可能会遇到问题。以下是一些常见的故障排除提示:

  • A. 常见的安装和配置问题
  1. 通过检查版本来验证 Podman 是否已正确安装。
  2. 安装 Podman 之前,请确保您具有 root 访问权限或管理权限。
  3. 检查配置文件中是否有任何拼写错误或错误。
  4. 确认已安装从源代码构建 Podman 所需的依赖项。
  • B. 调试容器

如果容器的行为不符合预期,请按照以下步骤进行调查:

  1. 检查容器的日志
<span class="pln">podman logs my_app</span>
  1. 访问容器的外壳进行进一步调查:
<span class="pln">podman </span><span class="kwd">exec</span> <span class="pun">-</span><span class="pln">it my_app </span><span class="pun">/</span><span class="pln">bin</span><span class="pun">/</span><span class="pln">bash</span>
    • C. 调查系统服务

    如果 Podman 由 管理 ,则可以检查其状态和日志:systemd

<span class="pln">sudo systemctl status podman
sudo journalctl </span><span class="pun">-</span><span class="pln">u podman</span>

感谢您使用本教程在您的 Fedora 38 系统上安装 Podman 容器。有关其他帮助或有用信息,我们建议您查看 Podman 官方网站


Edge插件网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:如何在 Fedora 38 上安装 Podman
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址