Docker:コンテナ内のhostsファイルを編集する

  • 4
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

やりたいこと

コンテナ内のhostsファイルに設定を追加したい

問題点

普通にコンテナ内部の/etc/hostsファイルを編集しても、コンテナを再起動すると変更が消えてしまう。
編集後にdocker commitしてもダメで,これはDockerサービスがdocker run時に--linkオプションで指定したコンテナのIPアドレスを取得して,hostsファイルを自動で書き換えてしまうための模様。

#もしかしたらこの仕様はDocker1.10で変わるかも?
https://github.com/docker/docker/wiki/Engine-1.10.0

解決策

docker run時に--add-hostオプションを使う。

$ docker run -d --add-host sample:192.168.10.1 --name <container-name> <image-name>

上記のコマンドでは、192.168.10.1 sampleという設定がhostsファイルに追加される。