-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
split runc rpm (for co-installing Docker and Podman) #210
Comments
I would also like to know the answer to this. |
For a workaround, removing runc and then installing containerd works (because containerd installs it back anyway)
|
Thank you. |
Please explain how removing runc could solve the problem. I can't get it to work, and I don't understand how it could. The podman package depends on runc in the package sense. When I remove runc, podman will also be removed. I can then install docker-ce and its containerd dependency. But if I after that try to install podman again I get all the error messages in the description above. There is a runc binary in the containerd package, but the package doesn't provide the name runc in the RPM sense. It is quite possible to install either podman or docker, but I can't seem to have both. Co-installing them, as t he subject says. The only way to get both installed I have found is by overriding the requirements as in One option to solve this would be for containerd to provide runc of an appropriate version. According to the Fedora Packaging Guidelines which seems to be one of the more developed RPM packaging guidelines, if a package is compatible enough to replace another package it should obsolete and provide that package name (but not conflict it). The runc package in the OS is based on the Opencontainers version of runc. It is beyond me to understand if the “compatible enough” requirement applies here. But the original solution suggested above is probably better, to create a separate subpackage called for example containerd-runc during the RPM build. That is similar to how it is being done with the docker compatibility script prodman provides. You can install it as a separate package, called podman-docker if you wish to have a docker command that actually runs podman. But if you don't want that, for example because you want to run the real docker too on the same machine, then you can simply omit this package. Podman itself will work just fine. |
Hi there! |
I just tested on CentOS 8.3: Installing
and (trying to install) Docker with
it fails as described in issue. |
Any progress on this? really annoying if you ask me, causing us to have to do multiple shenanigans and workarounds. |
I've also received same problem as mentioned in description, But I've did the following steps and then can able to install docker on my centos8.
And I can able to use docker on my CentOS8. So, is this going to create any problem in future, if Podman is not installed ? Thanks. |
The problem is still that you might want both podman and docker on the same host. And be able to run |
Any update on this issue? I don;t understand what's the issue with working with podman and docker at the same time. |
@thaJeztah WDYT? |
Having this same issue. Seems to work on Fedora 35 but doesn't work on RHEL8. |
It's not exactly a real split of the two packages, but two pull requests (the second one being inspired by the first one) are pending since some time, which would simply fix this issue: #231 and #272 Note that I don't think there is a need anymore for the docker/moby project to package runc explicitly, as you can now find official runc packages for all popular distros these days, directly maintained by the distros itself. So technically, instead of doing the changes mentionned above just for RHELs, I would rather start doing it for all recent distros. Why does it work on Fedora while it doesn't on RHEL 8/9 which are based on Fedora ? Because podman in Fedora depends only on crun (an alternative implementation to runc), while RHEL 8 podman depends on runc, and RHEL 9 podman depends on both crun and runc (but effectively uses only crun if both are present). So, if RHEL 9 podman did depend only on crun, people wouldn't have this issue to co-install podman and docker (but IMO the docker package shall be fixed, this is the root cause of this problem). |
In addition to what you said, also note that |
Note: this will be worked around on CentOS 9/RHEL 9 side as soon as podman 4.1.x will hit rpm repositories, thanks to this change made today in the podman packaging: https://gitlab.com/redhat/centos-stream/rpms/podman/-/merge_requests/176/diffs?commit_id=f327e88a08ca224b4d20b93a44f234dfb525e0b5 |
Note that right now the initial problem doesn't happen anymore on CentOS Stream 9 (Stream 8 still has it), thanks to the above mentionned workaround about runc/crun made by Red Hat. RHEL 9 still has the problem, as RHEL 9 still uses podman 4.0. Red Hat expects to ship podman 4.1 to RHEL 9 around august (don't take this for granted, dates can always be delayed in case of issues). |
Guys, any chance to make this separation for RHEL8 ? We are interested in this activity and ready for possible contribution if necessary. |
Contributions are these since months, it was started by @goeranu, but for a reason I don't get, these aren't merged while I don't think there still are any pending comment that was left unaddressed. On my side, I just wait for the new RHEL 9 podman package, that should come around august (no guarantee here). I advise you to abandon RHEL 8 if you can, and migrate to RHEL 9, and wait couple of month to benefit from the Red Hat workaround. |
Installing podman and docker-ce now works on RHEL 9/UBI 9. It doesn't on RHEL 8/UBI 8. |
Currently, Docker and Podman cannot be installed together on CentOS 8.3 with their official RPMs:
Would it be possible to split
runc
rpm fromcontainerd.io
rpm, to resolve the dependency conflict above?The text was updated successfully, but these errors were encountered: