podman 与 docker 共存


Red Hat 把 Podman 作为 Docker 的替代品发行给用户,但两者同时安装会出现一些问题。

  • Docker CE 安装需要 containerd.io 由 Docker 提供
  • 来自 Docker 的 containerd.io 包括 runc (下级容器执行引擎)
  • 该 runc 与 Podman 和 Skopeo 所需的 RHEL / CentOS 本机 runc 软件包冲突。

Docker 团队试图解决:https://github.com/docker/containerd-packaging/pull/231

要解决此问题,诀窍是手动安装 Docker containerd.io 软件包,排除有问题的 runc,然后安装Docker CE。

Docker 将使用 RHEL 平台上的 runc (实际上两者相同),并且不会与 Podman,Skopeo 等所需的任何软件包发生冲突。

# 1. Podman
sudo dnf install podman

# 2. 检查可用
sudo podman run hello-world

# 3. 安装 docker repo,并禁用,防止和 RH 的冲突
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf config-manager --set-disabled docker-ce-stable

# 4. rpm 方式安装,不包括 runc
sudo rpm --install --nodeps --replacefiles --excludepath=/usr/bin/runc https://download.docker.com/linux/centos/8/x86_64/stable/Packages/containerd.io-1.4.9-3.1.el8.x86_64.rpm

# 5. 安装 docker ce
sudo dnf install --enablerepo=docker-ce-stable docker-ce

# 6. 启动并测试
sudo systemctl enable --now docker
sudo docker run hello-world
sudo podman run hello-world

sudo dnf update

文章作者: sfc9982
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 sfc9982 !
  目录