Hi all,
Just registered, first post on the forum. I've been using Pis for years, but have finally hit a problem I can't solve on my own.
I want to use my Pi Zero W to run a bit of software headless that's deployable as a container whose image is regularly published to registries. Because this is a low-power bit of kit, I'm trying to do this in as lightweight a way as possible. So I'm not using Docker with everything that comes with that I don't need. Instead I'd like to use containerd. This requires several related bits of software to round out the solution:
nerdctl and the CNI plugins are published only as binaries (nerdctl-2.1.3-linux-arm-v7.tar.gz and cni-plugins-linux-arm-v1.7.1.tgz) from their respective GitHub repos (https://github.com/containerd/nerdctl/r ... tag/v2.1.3 and https://github.com/containernetworking/plugins/releases). I'm pretty sure these are 32-bit binaries, aligning with the OS installed (Raspberry Pi OS Lite).
When I extract them and attempt to use nerdctl to run a container, I get an "Illegal operation" error. This suggests to me that the binary has not been compiled for the Pi Zero's armv6 architecture (although I'm not certain - this is where my knowledge begins to peter out).
My questions:
Just registered, first post on the forum. I've been using Pis for years, but have finally hit a problem I can't solve on my own.
I want to use my Pi Zero W to run a bit of software headless that's deployable as a container whose image is regularly published to registries. Because this is a low-power bit of kit, I'm trying to do this in as lightweight a way as possible. So I'm not using Docker with everything that comes with that I don't need. Instead I'd like to use containerd. This requires several related bits of software to round out the solution:
- containerd itself
- runc or crun (for low-level container management)
- nerdctl (CLI to interact with containerd)
- CNI Plugins (to enable containers to interact with the Pi's network)
- iptables
- rootlesskit (for running containers which don't have root access)
nerdctl and the CNI plugins are published only as binaries (nerdctl-2.1.3-linux-arm-v7.tar.gz and cni-plugins-linux-arm-v1.7.1.tgz) from their respective GitHub repos (https://github.com/containerd/nerdctl/r ... tag/v2.1.3 and https://github.com/containernetworking/plugins/releases). I'm pretty sure these are 32-bit binaries, aligning with the OS installed (Raspberry Pi OS Lite).
When I extract them and attempt to use nerdctl to run a container, I get an "Illegal operation" error. This suggests to me that the binary has not been compiled for the Pi Zero's armv6 architecture (although I'm not certain - this is where my knowledge begins to peter out).
My questions:
- Is this likely the case, or am I barking up the wrong tree?
- If so, is it worth going to the effort of attempting to compile those two projects for the Pi Zero's processor architecture?
- If it is, then what should I be aware of to minimise the time spent floundering in ignorance?
Statistics: Posted by UrgeToSplurge — Fri Aug 15, 2025 4:38 pm