Skip to content

Instantly share code, notes, and snippets.

@xros
Last active March 4, 2025 17:37
Show Gist options
  • Save xros/01d3d76f4b3dd422bf2c90d52c00e96f to your computer and use it in GitHub Desktop.
Save xros/01d3d76f4b3dd422bf2c90d52c00e96f to your computer and use it in GitHub Desktop.
setting up docker on ARM v7 (32bit) CPU - NanoPC T2 and Raspberry Pi 1B, 2B

Docker can run on ARM v7 CPU

I am gonna demonstrate how to run a docker engine on an ARM v7 CPU on NanoPC T2, which was released in 2016 on s5p4418 chip.

docker error: level=error msg="failed to mount overlay: invalid argument"

Quick solution: use vfs driver instead of overlay

Item Info
OS Ubuntu 24.04
Kernel version 4.4.172-s5p4418 (Especially made for NanoPC-T2)
RAM 1GB 32bit DDR3 RAM
DISK eMMC 8GB (tested using dd 11MB/s writes)
SD card slot 1
Network 1 Gbps Port (RTL8211E) but in this distro it only works at 100Mbps
WiFi 802.11b/g/n
Bluetooth 4.0 dual mode

Distro download link

Wiki about NanoPC T2 https://wiki.friendlyelec.com/wiki/index.php/NanoPC-T2

After installing docker engine, may have error level=error msg="failed to mount overlay: invalid argument"

Solution: use vfs storage driver instead of overlay

Add this in /etc/docker/daemon.json

{
  "storage-driver": "vfs"
}

Then restart : sudo systemctl start docker

Reason: the kernel in the distro doesn't have overlay driver.

Quick check loaded modules:

modprobe overlay
lsmod | grep overlay

ARM v7 is a bit old. Newers are ARM v8/ARM64.

If you really want to build the overlay kernel module by yourself, go here to grab the kernel header files and compile the kernel module: link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment