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 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
API Version: 3.0.0
Go Version: go1.15.15
Built: Wed Dec 31 16:00:00 1969
podman command line tool has the same syntax as the
docker command (in fact, some places suggest those familiar with Docker simply alias
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
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…