Podman on Inovato Quadra / Armbian

The Quadra is not equipped with vast amounts of memory (a whole 2GB), but even with a 2K 24 bit color desktop running in a virtual frame buffer, it has 1,3GB available for running applications. Turning off the UI increases that to 1,7GB.

While I could run the applications I am thinking of playing with on this box as simple processes, using containerized applications would have some advantages. As long as the memory constraints of this little ARM SBC don’t make that impractical.

Docker or Not?

While I am very familiar with Docker (and somewhat familiar with Kubernetes and its light-weight variant K3S), I have not use Podman at all. The big win for my use case was the lack of a permanently running daemon. Less running software means less stress on my limited 2GB of memory. So, I am trying Podman on my little Armbian board…

Installing Podman

Installing it was simpler than I first thought, but not totally trivial:

sudo apt-get install podman uidmap slirp4netns

The two additional packages are required, but not listed as dependencies. Without them, trying to launch containers (or even get the version using podman version fails. Once installed, you should be able to get the version information as follows:

quadra@inovato:~$ podman version
Version:      3.0.1
API Version:  3.0.0
Go Version:   go1.15.15
Built:        Wed Dec 31 16:00:00 1969
OS/Arch:      linux/arm64

Running Containers

The podman command line tool has the same syntax as the docker command (in fact, some places suggest those familiar with Docker simply alias docker to podman in their shell so muscle memory doesn’t have to learn a new command!). To test, I ran up the default current build of NanoMQ – an MQTT broker I have used in other projects:

quadra@inovato:~$ podman run -d --name nanomq --rm docker.io/emqx/nanomq
7867f8b9d616c7ce47426ca7b04e226c5fed01fe13b6ad85b114d73759599674

quadra@inovato:~$ podman ps
CONTAINER ID  IMAGE                  COMMAND               CREATED         STATUS             PORTS   NAMES
7867f8b9d616  docker.io/emqx/nanomq  --url nmq-tcp://0...  54 minutes ago  Up 54 minutes ago          nanomq

Memory usage was great as well, so time to experiment more with Podman and see whether it will work for all the other things I had in mind. I’m not sure I will be able to build on this little box, so I’m also going to need to work out how to build containers for it on another platform…

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.