本文最后更新于 2024年3月26日 下午
介绍
Podman是一个用于在 Linux 系统上构建、管理和运行OCI标准容器的CLI工具,是Docker的直接替代品。
由红帽主导,与开源社区一起开发。在RHEL8开始预装并替代Docker。命令上与Docker并无区别。
主要特点是不需要守护进程,可以支持非root用户运行容器,提高了安全性和可访问性。
本教程也适用于RHEL其他衍生版本,如Rocky Linux。
安装
RHEL8-9安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| dnf install podman podman-docker
systemctl enable --now podman
podman run hello-world
docker run hello-world
|
安装podman-compose(需要提前安装epel yum源)
1 2 3 4 5 6 7 8 9
| dnf install podman-compose
podman-compose up -d podman-compose down
|
默认仓库顺序
说明
红帽把自己的两个仓库源放在了前面,导致拉取前两个仓库源不存在的镜像时候,要手动选择。
很麻烦🤬
1 2 3 4 5 6 7
| podman pull songxwn/webnettools:1.4 Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg. ? Please select an image: ▸ registry.access.redhat.com/songxwn/webnettools:1.4 registry.redhat.io/songxwn/webnettools:1.4 docker.io/songxwn/webnettools:1.4
|
修改
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| vim /etc/containers/registries.conf
unqualified-search-registries = ["docker.io", "registry.redhat.io", "registry.access.redhat.com"]
# 将unqualified-search-registries选项,修改为上面的即可。
systemctl restart podman
# 然后重启一下即可。
|
PS:也可以修改为国内的Docker Hub源,如网易的 https://hub-mirror.c.163.com
参考
https://computingforgeeks.com/create-docker-container-registry-with-podman-letsencrypt/