<!--
title: Docker on Apple Silicon
date: 2025-05-12
-->

# 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/](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 start
```

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.





