Tag Archives: procfs

A story of Docker, QEMU, and memfd_create()

Last year I stumbled across a problem with the execution of a Docker container in a CI environment. The interesting case was that this is a container for a foreign architecture, which is supported by the --platform option and there are even official images on Docker Hub for this.

Initially, the problem presented itself like this:

$ docker run -it --rm --platform linux/arm64 [...] arm64v8/ubuntu:jammy
root@d6fb5c478cb6:/# ps
Error, do this: mount -t proc proc /proc

This means the ps(1) command could not run in this Docker container. At first I trusted the error message and thought that /proc might really not be mounted. However, that is usually taken care of by Docker and this following check confirmed that it is in fact mounted:

root@d6fb5c478cb6:/# mount | grep proc | head -n1
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)

Well, now what is actually the problem here with running a Docker container for a foreign architecture?

Continue reading