A few notes, scribbled hastily, on the experience of installing containerd and removing docker from a system.
The motivating factor behind this turns out to be the installation of faasd, which really wanted to run on top of containerd, and which notes in the tutorial
Do not install Docker on the same Raspberry Pi as it may cause conflicts with networking and the version of containerd we are using.
I'm running arm64 on a Pi 4. First obstacle to overcome is
run containerd on arm64, get error undefined symbol: seccomp_api_get
solved by adding buster-backports
to apt sources, and then
apt update
apt-get -t buster-backports install libseccomp2 libseccomp-dev
Once containerd is installed, it's possible (but of course not really recommended) to juggle between docker and containerd on the same host.
sudo systemctl stop docker && sudo systemctl start containerd
sudo systemctl stop containerd && sudo systemctl start docker
When all was said and done I ended up with this
Dockerfile to
build my application, and then I did faas-cli deploy -f sisyphus.yml
to get it running.
Proof of work:
Once you have this installed under containerd, the next question is how to manage it. For that I was fortunate to discover nerdctl, a mostly docker-compatible CLI tool for containerd. More proof of work: