Files
minimal-setups/content/snippets/0270-docker-on-apple-silicon.md
Wolfgang Hottgenroth 7419e0b0e7
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
fix
2025-05-12 10:45:36 +02:00

1.8 KiB

Docker on Apple Silicon - without longrunning background processes and without Rosetta

Docker itself comes with some background processes. Fine for servers, which only exists to run the containers all the time, disadvantageous for a laptop where you run a container only now and then. ChatGPT proposed podman and finch and as I already heard and read about podman I tried it first.

podman

brew install podman

Afterwards,

podman machine init
podman machine start

is required to start a VM to run containers within. However,, while the init command directly worked, when issueing the start command I was demanded to install Rosetta. I don't want.

So

podman machine rm
brew uninstall podman

finch

This is a open source product of AWS: https://aws.amazon.com/de/blogs/opensource/introducing-finch-an-open-source-client-for-container-development/.

brew install finch

Here also

finch vm init
finch vm stop

is required and afterwards containers can be executed:

finch run -it ubuntu bash

It appears, that the commandline interface of finch it compatible with the one of docker, at least I haven't found any flaws yet. Since, I usually have full docker commandline in my notes I created an alias:

alias docker="echo -e '\033[1;31m>>> REMEMBER: docker is finch here <<<\033[0m' && finch"

Using this alias (I've it in my .bashrc) I can call docker and finch is executed, with a big reminder that it actually is finch.

As soon as I don't need to run containers anymore, I can call

finch vm stop

and no process remains running. Fine.