Hi Bruce, Thanks for your review.
I personally don't have any strong preference. Allowing docker + podman is something that most distros support. So I felt it natural that we support it too. Here's some background. <background_start> Previously, I was using runc for both docker and podman. Everything's OK. Recently, I switched to use crun for podman because crun is the preferred runtime for podman. And that revealed the crun & runc issue, as well as this docker issue. The goal was: 1) allowing docker, podman, runc, crun installed on target 2) podman uses crun; docker uses runc. Thus these two patches. To clarify, I never used docker + crun. I think it should work. I prefer to use runc for docker because I guess runc is more sufficiently tested by docker upstream. <background_end> I can see how hard it is to maintain all these components and the big test matrix you need. And I totally respect your decision. Regards, Qi -----Original Message----- From: Bruce Ashfield <[email protected]> Sent: Thursday, December 25, 2025 12:03 PM To: [email protected] Cc: Chen, Qi <[email protected]>; [email protected] Subject: Re: [meta-virtualization][PATCH] docker: RDEPENDS on virtual-runc On Wed, Dec 24, 2025 at 10:33 PM Bruce Ashfield via lists.yoctoproject.org <[email protected]> wrote: > > On Wed, Dec 24, 2025 at 10:21 PM Chen, Qi <[email protected]> wrote: > > > > Runtime error. > > > > The scenario is that I want docker and podman to be installed together. > > That's a scenario that I've explicitly made conflict. > > > A few settings need to be there to have this done: > > CRUN_AS_RUNC = "false" > > PODMAN_FEATURES:remove = "docker" > > CONTAINER_PROFILE = "podman" > > (There's a patch to fix crun & runc installed together that I sent a > > few days ago.) > > > > On target, docker.servcie fails because runc cannot be found. > > > > Docker can work with crun because crun is somewhat compatible with runc. > > It's not like podman which does automatic search (crun first, then runc). > > And for docker to use crun, user needs to edit /etc/docker/daemon.json > > file. This is the normal way to do it. > > > > In summary, we need to support podman & docker installed on the same target. > > And for this to work, this patch, together with the crun fix patch, is > > needed. > > See above. And what I mean by that comment is that the configuration you are describing isn't working by design. So you need some solid/strong justification to change that, and it will be more than just changing a few bits and pieces, I need to rework parts of the container stack configurations and add them to the test matrix. crun is also more than "somewhat compatible" with runc, it is for all intents and purposes a drop in replacement. If there's a specific runtime issue with it in place of runc, send the details and I can look into it. Cheers, Bruce > > Bruce > > > > > Regards, > > Qi > > > > -----Original Message----- > > From: Bruce Ashfield <[email protected]> > > Sent: Wednesday, December 24, 2025 9:05 PM > > To: Chen, Qi <[email protected]> > > Cc: [email protected] > > Subject: Re: [meta-virtualization][PATCH] docker: RDEPENDS on > > virtual-runc > > > > On Wed, Dec 24, 2025 at 1:48 AM Chen Qi via lists.yoctoproject.org > > <[email protected]> wrote: > > > > > > From: Chen Qi <[email protected]> > > > > > > docker tries to find 'runc' binary, and if 'runc' is not > > > available, things fail. > > > > > > The VIRTUAL-RUNTIME_container_runtime could be crun or virtual-runc. > > > This is not correct for docker. What docker wants is virtual-runc. > > > > > > > Hmn. no, what I had was intentional (if maybe incomplete). That is there so > > you can configure the stack to use docker and crun. > > > > Are you seeing a build. or runtime error ? > > > > Bruce > > > > > Signed-off-by: Chen Qi <[email protected]> > > > --- > > > recipes-containers/docker/docker.inc | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/recipes-containers/docker/docker.inc > > > b/recipes-containers/docker/docker.inc > > > index 99535a77..39782b88 100644 > > > --- a/recipes-containers/docker/docker.inc > > > +++ b/recipes-containers/docker/docker.inc > > > @@ -13,7 +13,7 @@ RDEPENDS:${PN} = "util-linux util-linux-unshare > > > iptables \ > > > ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', > > > 'cgroup-lite', d)} \ > > > bridge-utils \ > > > " > > > -RDEPENDS:${PN} += "virtual-containerd > > > ${VIRTUAL-RUNTIME_container_runtime}" > > > +RDEPENDS:${PN} += "virtual-containerd virtual-runc" > > > > > > RRECOMMENDS:${PN} = "kernel-module-dm-thin-pool \ > > > kernel-module-nf-conntrack \ > > > -- > > > 2.49.0 > > > > > > > > > > > > > > > > > > -- > > - Thou shalt not follow the NULL pointer, for chaos and madness > > await thee at its end > > - "Use the force Harry" - Gandalf, Star Trek II > > > > -- > - Thou shalt not follow the NULL pointer, for chaos and madness await > thee at its end > - "Use the force Harry" - Gandalf, Star Trek II > > > -- - Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end - "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#9503): https://lists.yoctoproject.org/g/meta-virtualization/message/9503 Mute This Topic: https://lists.yoctoproject.org/mt/116925968/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
