Podman 是一个容器管理工具,允许用户运行、管理和与容器交互,而无需在后台运行守护进程。它与Docker和OCI(开放容器计划)标准兼容,使其成为在Fedora 38上管理容器的多功能选择。
在 Fedora 38 上安装 Podman
第 1 步。在我们可以在 Fedora 38 上安装 Podman 之前,重要的是要确保我们的系统是最新的软件包。这将确保我们可以访问最新功能和错误修复,并且我们可以毫无问题地安装 Podman:
<span class="pln">sudo dnf update</span>
现在我们已经准备好了系统,我们可以继续在 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/subgid
username
<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>
<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
:分离容器并在后台运行。-p 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. 常见的安装和配置问题
- 通过检查版本来验证 Podman 是否已正确安装。
- 在安装 Podman 之前,请确保您具有 root 访问权限或管理权限。
- 检查配置文件中是否有任何拼写错误或错误。
- 确认已安装从源代码构建 Podman 所需的依赖项。
- B. 调试容器
如果容器的行为不符合预期,请按照以下步骤进行调查:
- 检查容器的日志
<span class="pln">podman logs my_app</span>
- 访问容器的外壳进行进一步调查:
<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 官方网站。