20

を使用し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
4

2 に答える 2

15

セキュリティ上の理由から、この操作には特権モードである必要があります。現在、特権モードで 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

なぜビルド時にこれを行う必要があるのですか?

于 2014-05-09T18:14:41.903 に答える