Podman 是一个容器管理工具,允许用户运行、管理和与容器交互,而无需在后台运行守护进程。它与Docker和OCI(开放容器计划)标准兼容,使其成为在Fedora 38上管理容器的多功能选择。
在 Fedora 38 上安装 Podman
第 1 步。在我们可以在 Fedora 38 上安装 Podman 之前,重要的是要确保我们的系统是最新的软件包。这将确保我们可以访问最新功能和错误修复,并且我们可以毫无问题地安装 Podman:
sudo dnf update
第 2 步。在 Fedora 38 上安装 Podman。
现在我们已经准备好了系统,我们可以继续在 Fedora 38 上安装 Git。有两种常见的安装方法:使用包管理器和从源代码构建。
- A. 方法 1:使用 DNF 包管理器
系统更新后,您可以通过运行以下命令安装 Podman:
sudo dnf install podman
安装完成后,您可以通过运行以下命令来验证 Podman 是否已正确安装:
podman version
此命令将显示系统上安装的 Podman 版本。
- B. 方法二:从源头构建豆荚人
确保您拥有构建 Podman 所需的开发工具和库:
sudo dnf install make gcc git golang glibc-devel btrfs-progs-devel device-mapper-devel ostree-devel
为 Podman 源代码创建一个目录:
mkdir -p ~/podman-source && cd ~/podman-source
从 GitHub 克隆 Podman 存储库:
git clone https://github.com/containers/podman.git
移动到 Podman 源目录:
cd podman
从源代码编译 Podman:
make BUILDTAGS="selinux seccomp"
编译完成后,安装 Podman:
sudo make install
第 3 步。在 Fedora 38 上配置 Podman。
成功安装后,是时候配置 Podman 并对其进行设置以实现流畅的容器管理了。
- A. 初始化 Podman
启动 Podman 并初始化所需的存储和网络组件:
- B. 验证安装
要确保 Podman 正确安装并运行,请检查版本:
podman --version
- C. 配置 Podman 无根容器
默认情况下,Podman 运行启用了无根容器的容器,从而提供了额外的安全层。但是,为了确保无根容器无缝工作,您必须在系统上启用用户命名空间。为此,请按照下列步骤操作:
sudo touch /etc/subuid /etc/subgid
将您的用户添加到 和 文件。替换为您的实际用户名:/etc/subuid
/etc/subgid
username
sudo echo "username:100000:65536" >> /etc/subuid sudo echo "username:100000:65536" >> /etc/subgid
更新用户命名空间配置:
echo "user.max_user_namespaces=28633" | sudo tee -a /etc/sysctl.conf sudo sysctl --system
- D. 管理容器存储
默认情况下,Podman 将容器镜像、卷和相关数据存储在目录中。若要更改存储位置,请按照下列步骤操作:/var/lib/containers
sudo mkdir -p /path/to/new/container/storage
编辑 Podman 配置文件:
sudo nano /etc/containers/storage.conf
使用新的存储路径更新该选项:graphroot
[storage] driver = "overlay" runroot = "/run/containers/storage" graphroot = "/path/to/new/container/storage"
sudo systemctl restart podman
第 4 步。基本吊舱人命令。
现在 Podman 已经安装和配置完毕,让我们探讨一些使用容器的基本命令。
A. 运行容器
若要启动容器,请使用以下命令:
podman run -d -p 8080:80 --name my_app nginx:latest
解释:
-d
:分离容器并在后台运行。-p 8080:80
:将主机上的端口 8080 映射到容器中的端口 80。--name my_app
:将名称“my_app”分配给正在运行的容器。nginx:latest
:要使用的图像和标记的名称。
B. 停止和移除容器
要停止正在运行的容器,请使用以下命令:stop
podman stop my_app
若要删除已停止的容器,请使用以下命令:rm
podman rm my_app
C. 列出容器
要查看正在运行的容器的列表,请使用以下命令:ps
podman ps
若要查看所有容器(包括已停止的容器),请添加以下选项:-a
podman ps -a
第5步。对 Fedora 38 上的 Podman 进行故障排除。
尽管它很健壮,但在使用 Podman 时您可能会遇到问题。以下是一些常见的故障排除提示:
- A. 常见的安装和配置问题
- 通过检查版本来验证 Podman 是否已正确安装。
- 在安装 Podman 之前,请确保您具有 root 访问权限或管理权限。
- 检查配置文件中是否有任何拼写错误或错误。
- 确认已安装从源代码构建 Podman 所需的依赖项。
- B. 调试容器
如果容器的行为不符合预期,请按照以下步骤进行调查:
- 检查容器的日志
podman logs my_app
- 访问容器的外壳进行进一步调查:
podman exec -it my_app /bin/bash
-
- C. 调查系统服务
如果 Podman 由 管理 ,则可以检查其状态和日志:
systemd
sudo systemctl status podman sudo journalctl -u podman
感谢您使用本教程在您的 Fedora 38 系统上安装 Podman 容器。有关其他帮助或有用信息,我们建议您查看 Podman 官方网站。