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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to