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)