Distrobox cloning fails on Aurora

I’ve tried on a couple different systems running a fresh install of Aurora-DX. BoxBuddy fails at duplicating so I tried straight Distrobox as:

distrobox create --name Dev2 --clone Dev1

This gives an error of

WARN[0000] Failed, retrying in 1s ... (1/3). Error: initializing source docker://localhost/dev1:2024-11-22: pinging container registry localhost: Get "https://localhost/v2/": dial tcp [::1]:443: connect: connection refused

I thought maybe this was a permissions issue with it using Docker so I disabled the docker service so it would be forced to use rootless Podman, with no change in the output.

In standard Fedora 41, using rootless Podman strategy works and the container duplicates fine.

I just tried your distrobox create command with one of my distroboxes and it works with rootless podman. However, I see that during cloning it pulled an updated image from a remote registry, because the distrobox is based on a remote image. I suggest you look into the files

  • /etc/containers/registries.conf
  • /etc/containers/registries.d/*
  • /etc/distrobox/distrobox.ini

and check if there is anything that could explain why distrobox is trying to pull from localhost.

If I look at the successful clone on vanilla Fedora41, it pulled that image from localhost as well, successfully however. I assume the clone process takes a container image and posts it locally as part of the process.

ID           | NAME                 | STATUS             | IMAGE                         
09fec8db83d0 | Dev1                 | Exited (143) 8 hours ago | registry.fedoraproject.org/fedora:40
cf18d507ca51 | Dev2                 | Exited (143) 2 seconds ago | localhost/dev1:2024-11-22 

I don’t see anything in the conf files that specifies any localhost registry. I just figure this is a normal way docker/podman keep local images of containers and Distrobox is just invoking it as part of the cloning process, since you need to have the container exited to run a clone.

I’m going through the distrobox scripts and figuring out how it makes a clone, but at this point it looks like it’s just passing arguments to podman create and that’s where the lifting is done. I have to go through a manual run once I figure out the command and see what it’s doing. I have pulled a dryrun version of the output but it’s not making much sense right now when it gets to the clone part.