Find Images on Docker Hub
Browse available images at: hub.docker.com
Stack context: Each image you pull is referenced by name and tag in your
docker-compose.yml. When you run docker stack deploy, Docker automatically distributes that image to every Swarm node — but pre-pulling it on the master saves time and avoids pull timeouts on slow SD card connections.
Pull an Image
Pull example — custom MariaDB for Raspberry Pi
$ docker pull jorgenlarsen/mariadb10.3:rpi
rpi: Pulling from jorgenlarsen/mariadb10.3
7d9beb74056b: Pull complete
0065911503a4: Pull complete
6fc95aeae22a: Pull complete
...
Status: Downloaded newer image for jorgenlarsen/mariadb10.3:rpi
docker.io/jorgenlarsen/mariadb10.3:rpi
List Local Images
List downloaded images
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
jorgenlarsen/mariadb10.3 rpi 09f38af10d8f 2 weeks ago 316 MB
portainer/portainer-ce latest 5526251cc61f 7 weeks ago 163 MB
⚠️ Architecture Compatibility
Images on Docker Hub are architecture-specific. The Raspberry Pi uses ARM — not x86/amd64. Always check tags carefully.
| Pi Model | Architecture | Tag to look for |
|---|---|---|
| Pi 4 (64-bit OS) | arm64 / aarch64 | arm64v8, arm64 |
| Pi 3 B+ (32-bit OS) | armv7l / armhf | arm32v7, armhf, rpi |
If you see this error when running a container:
You have pulled an image compiled for the wrong CPU architecture. Use
standard_init_linux.go:211: exec user process caused "exec format error"You have pulled an image compiled for the wrong CPU architecture. Use
docker inspect to check:
Check image architecture
# Inspect by Image ID or name
$ docker inspect 09f38af10d8f | grep -i arch
# Look for:
"Architecture": "arm"
Full command reference: docs.docker.com — docker pull