我正在使用Dockerfile
来构建我的图像,我在那里有一个命令:
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
答案 0 :(得分:8)
出于安全原因,您需要处于特权模式才能执行此操作。目前无法使用具有特权模式的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
为什么你需要在构建时这样做?
答案 1 :(得分:2)
这可能不适用于您的确切情况,但在尝试执行涉及写入的大量操作时,我经常收到read-only file system
次通知:
docker build
docker rmi
在我的情况下,我只能通过停止和启动boot2docker
:
$ bootdocker down
$ bootdocker up