dockerboot2docker

Docker build: read-only file system


I'm using a Dockerfile to build my image and I have a command in there that says:

RUN sysctl -w net.ipv4.route.flush=1

but it fails to build the image with the following error:

Step 20 : RUN sysctl -w net.ipv4.route.flush=1
 ---> Running in 4d7302b56c53
sysctl: setting key "net.ipv4.route.flush": Read-only file system

Solution

  • For security reasons, you need to be in privileged mode for this operation. It is not currently possible to use a Dockerfile with the privileged mode.

    $> docker run ubuntu sysctl -w net.ipv4.route.flush=1 && echo ok || echo ko
    sysctl: setting key "net.ipv4.route.flush": Read-only file system
    ko
    $> docker run --privileged ubuntu sysctl -w net.ipv4.route.flush=1 && echo ok || echo ko
    ok
    

    Why do you need to do this at build time?