私はsockt-native-packagerのdockerプラグインを使ってDockerイメージを構築しています。私のイメージには、/ etc/hostsに追加のエントリがあることを望みます。sbt-native-packager docker:/ etc/hostsにエントリを追加する方法
私は次のことを試してみた:
dockerCommands in Docker := dockerCommands.value.flatMap {
case [email protected]("FROM", _) =>
List(Cmd("FROM", "anapsix/alpine-java")) ++ List(
Cmd("ENV", "JAVA_MIN_MEM", "1024m"),
Cmd("RUN", "echo 8.8.8.8 foo >> /etc/hosts")
)
}
残念ながら、動作するようには思えません。このイメージに基づいてコンテナを起動すると、/ etc/hostsには余分なエントリがありません。
私が代わりに次のことを試してみましたので、それが実際にファイルを書き込んだように見えます:
....
Cmd("RUN", "echo 8.8.8.8 foo >> /etc/hosts; ping -c 4 foo")
....
そして、私は出力として、以下を取得しています:
[info] Step 9/15 : RUN echo 8.8.8.8 foo >> /etc/hosts; ping -c 4 foo
[info] ---> Running in b6d7ba25f96f
[info] PING foo (8.8.8.8): 56 data bytes
[info] 64 bytes from 8.8.8.8: seq=0 ttl=37 time=5.521 ms
[info] 64 bytes from 8.8.8.8: seq=1 ttl=37 time=3.188 ms
[info] 64 bytes from 8.8.8.8: seq=2 ttl=37 time=6.012 ms
[info] 64 bytes from 8.8.8.8: seq=3 ttl=37 time=4.192 ms
変更のようなので、それは/に見えますetc/hostsがオーバーライドされています!
これを行う正しい方法は何ですか?