Podman与docker兼容性问题
CentOS于2024年6月30日停止维护
使用阿里云服务器可以用Alibaba Cloud Linux 作为替代方案,有一些区别比如yum替换为dnf。
使用 Podman 模拟 Docker CLI。
Podman 是一个无守护进程的容器引擎,支持 rootless 模式,即用户无需 root 权限即可进行容器管理操作。在 CentOS 8 及以后的版本中,默认使用 Podman 替代 Docker。如果你在这些系统上使用 docker 命令,会自动重定向到 Podman。
当你在 CentOS 8 上使用 docker 命令时,可能会看到以下提示信息:
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg
这是因为系统默认使用 Podman 来模拟 Docker CLI。要消除这个提示信息,可以创建一个空的 /etc/containers/nodocker 文件:
sudo touch /etc/containers/nodocker
这样在以后使用 docker 命令时就不会再出现提示信息了。
[root@iZ2vc6aghw8fcd8mbgu23zZ ~]# docker -v
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
podman version 4.9.4-rhel
安装 Docker
如果你仍然希望使用 Docker 而不是 Podman,可以按照以下步骤安装 Docker:
卸载 Podman:
sudo dnf remove podman
添加 Docker CE 源:
sudo curl -fsSL https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
安装 Docker CE:
sudo dnf install docker-ce docker-ce-cli containerd.io
启动并启用 Docker 服务:
sudo systemctl start docker
sudo systemctl enable docker
可以在 CentOS 8 上安装并使用 Docker,而不是 Podman。
安装完软件一定要检查是否符合预期,命令docker -v
输出信息。
Complete!
[root@iZ2vc6aghw8fcd8mbgu23zZ ~]# sudo systemctl start docker
[root@iZ2vc6aghw8fcd8mbgu23zZ ~]# sudo systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
[root@iZ2vc6aghw8fcd8mbgu23zZ ~]# docker -v
Docker version 26.1.3, build b72abbb
[root@iZ2vc6aghw8fcd8mbgu23zZ ~]#
总结
Podman 提供了与 Docker 类似的 CLI 命令,并且支持 rootless 模式,适合在不需要 root 权限的情况下进行容器管理操作。如果你希望继续使用 Docker,可以通过卸载 Podman 并安装 Docker 来实现。
许可协议:
转载标注作者