我正在使用 aDockerfile
来构建我的图像,并且其中有一个命令说:
RUN sysctl -w net.ipv4.route.flush=1
但它无法构建图像并出现以下错误:
Step 20 : RUN sysctl -w net.ipv4.route.flush=1
---> Running in 4d7302b56c53
sysctl: setting key "net.ipv4.route.flush": Read-only file system
我正在使用 aDockerfile
来构建我的图像,并且其中有一个命令说:
RUN sysctl -w net.ipv4.route.flush=1
但它无法构建图像并出现以下错误:
Step 20 : RUN sysctl -w net.ipv4.route.flush=1
---> Running in 4d7302b56c53
sysctl: setting key "net.ipv4.route.flush": Read-only file system
出于安全原因,您需要处于特权模式才能执行此操作。目前无法在特权模式下使用 Dockerfile。
$> 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
为什么需要在构建时执行此操作?
这可能不适用于您的确切情况,但我read-only file system
在尝试执行一些涉及写入的操作时经常收到通知:
docker build
docker rmi
就我而言,我可以通过停止和启动来解决boot2docker
:
$ bootdocker down
$ bootdocker up