如何在Docker顶部安装Podman(用于构建目的)?

发布于 2025-02-02 16:09:19 字数 2214 浏览 2 评论 0原文

问题

如何安装 podman docker(通常是在CentOS流8)上,在同一(裸机)构建服务器上?首先,这样的安装尝试揭示了各自依赖关系之间的不兼容(Containerdrunc),这似乎是无法反应的(版本冲突)或尝试降级(版本obsemetions)。

BackRound

我们的公司正在逐步将其数据中心从OpenShift 3.11和OKD 3.11转换为OKD 4.X,并最终将确保运行时运行时和构建器的一致性,并通过运行,并在同一应用程序下构建容器图像,即Podman。但是,在过渡期间,我们有一个混合的运行时间环境,其中一些容器仍在docker(在OKD 3.11中使用),而在podman下进行了一些容器(在OKD 4中使用。

错误消息 /如何复制< / em>

$ docker --version
Docker version 20.10.16, build aa7e414

$ sudo yum update && sudo yum install podman
Last metadata expiration check: 1:37:57 ago on Mon 30 May 2022 09:59:57 CEST.
Dependencies resolved.
Nothing to do.
Complete!

Last metadata expiration check: 1:29:55 ago on Mon 30 May 2022 09:59:57 CEST.
Error: 
 Problem: package podman-2:4.0.2-1.module_el8.7.0+1106+45480ee0.x86_64 requires runc >= 1.0.0-57, but none of the providers can be installed
  - package containerd.io-1.3.7-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-70.rc92.module_el8.5.0+733+9bb5dffa.x86_64
  - package containerd.io-1.3.7-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-70.rc92.module_el8.5.0+733+9bb5dffa.x86_64
  - package containerd.io-1.3.7-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.1-3.module_el8.5.0+870+f792de72.x86_64
___________________________________________
# a few screens of similar output omitted #
___________________________________________
  - installed package containerd.io-1.6.4-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64
  - installed package containerd.io-1.6.4-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.2-1.module_el8.6.0+926+8bef8ae7.x86_64
  - installed package containerd.io-1.6.4-3.1.el8.x86_64 obsoletes runc provided by runc-1:1.0.3-3.module_el8.7.0+1106+45480ee0.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Question

How to install podman on top of docker (in general or in particular on CentOS Stream 8) on the same (bare metal) build server? First such installation attempt revealed incompatibles between their respective dependencies (containerd and runc), which seem either unresolvable (version conflicts) or an attempted downgrade (version obsoletions).

Backround

Our company is gradually transitioning its data centers from Openshift 3.11 and OKD 3.11 to OKD 4.x and will eventually ensure runtime and builder consistency, by running, and also building container images under the same application, i.e. podman. However, during the transition we have a mixed runtimes environment, where some containers are still run under docker (used in OKD 3.11), and some under podman (used in OKD 4.x), and that means that to avoid compatibility issues we should mirror this two-APIs/CLIs mixture also on the containers build servers.

Error message / how to reproduce

$ docker --version
Docker version 20.10.16, build aa7e414

$ sudo yum update && sudo yum install podman
Last metadata expiration check: 1:37:57 ago on Mon 30 May 2022 09:59:57 CEST.
Dependencies resolved.
Nothing to do.
Complete!

Last metadata expiration check: 1:29:55 ago on Mon 30 May 2022 09:59:57 CEST.
Error: 
 Problem: package podman-2:4.0.2-1.module_el8.7.0+1106+45480ee0.x86_64 requires runc >= 1.0.0-57, but none of the providers can be installed
  - package containerd.io-1.3.7-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-70.rc92.module_el8.5.0+733+9bb5dffa.x86_64
  - package containerd.io-1.3.7-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-70.rc92.module_el8.5.0+733+9bb5dffa.x86_64
  - package containerd.io-1.3.7-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.1-3.module_el8.5.0+870+f792de72.x86_64
___________________________________________
# a few screens of similar output omitted #
___________________________________________
  - installed package containerd.io-1.6.4-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64
  - installed package containerd.io-1.6.4-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.2-1.module_el8.6.0+926+8bef8ae7.x86_64
  - installed package containerd.io-1.6.4-3.1.el8.x86_64 obsoletes runc provided by runc-1:1.0.3-3.module_el8.7.0+1106+45480ee0.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文