distroless container issues #75

Open
opened 2025-10-28 16:35:37 +00:00 by Brooke · 2 comments
Owner

When trying to setup backupbot with garage any attempt to create a backup fails as the container integrates no shell and backup-bot-two wants to wrap the pre-hook command. see #1 and the below error:

$ abra app backup create garage.mirnet.org --chaos
Failed to run command bash -c 'set -o pipefail;/garage meta snapshot --all' in garage_mirnet_org_app.1.c43atpbbfv7of32266cgun8df: OCI runtime exec failed: exec failed: unable to start container process: exec: "bash": executable file not found in $PATH: unknown

backup finished

I have verified that running the command manually and extracting the snapshot from the host's /var/lib/docker/volumes/ dir works, so I believe this to be a limitation with backup-bot-two.

note the garage dockerfile.

When trying to setup backupbot with garage any attempt to create a backup fails as the container integrates no shell and `backup-bot-two` wants to wrap the pre-hook command. see [#1](https://git.coopcloud.tech/coop-cloud/garage/issues/1) and the below error: ``` $ abra app backup create garage.mirnet.org --chaos Failed to run command bash -c 'set -o pipefail;/garage meta snapshot --all' in garage_mirnet_org_app.1.c43atpbbfv7of32266cgun8df: OCI runtime exec failed: exec failed: unable to start container process: exec: "bash": executable file not found in $PATH: unknown backup finished ``` I have verified that running the command manually and extracting the snapshot from the host's /var/lib/docker/volumes/ dir works, so I believe this to be a limitation with `backup-bot-two`. note the [garage dockerfile](https://git.deuxfleurs.fr/Deuxfleurs/garage/src/branch/main-v1/Dockerfile).
Owner

Very interesting question! I feel like I read some advice on running commands in these scratch-based containers but I can't remember it; anyone have experience with it? The only (absolutely haunted) suggestion I can think of is docker cp-ing some binaries into the container 👻

Very interesting question! I feel like I read some advice on running commands in these `scratch`-based containers but I can't remember it; anyone have experience with it? The only (absolutely haunted) suggestion I can think of is `docker cp`-ing some binaries into the container 👻
Owner

I don't like these docker images. Yes they are very lightweight, but you can't really debug them...
Maybe we could implement some shell checking to know which shell is available and then either execute bash -c 'set -o pipefail;$command or executing the command directly.

I don't like these docker images. Yes they are very lightweight, but you can't really debug them... Maybe we could implement some shell checking to know which shell is available and then either execute `bash -c 'set -o pipefail;$command` or executing the command directly.
Sign in to join this conversation.
No description provided.