2017-01-03 12 views
1

ドッキング・コンテナをローカルで実行して、DNS解決にホスト/etc/hostsファイルを使用しないようにすることは可能ですか?ドッキング・コンテナ内のホスト・ファイルを無効にする

例えば、私の地元の/etc/hostsファイルに私は127.0.0.1 stackoverflow.comを設定することができますが、私のドッキングウィンドウコンテナ内stackoverflow.com実際のIPに解決されます。

答えて

2

コンテナ内のネットワーク構成は、コンテナを実行しているときにのみ、ホスト名が--network=hostであることがわかります。

--networkオプションを付けずにコンテナを実行すると、Dockerデーモンはコンテナをデフォルトのbridgeネットワークに接続します。このデフォルトネットワーク内のコンテナは、IPアドレスを使用して相互に通信できます。

一覧]ドッキングウィンドウの

docker network ls 

とのネットワークとあなたが

docker network inspect bridgeによってそれらを検査することができますが、より詳しくは、Docker container networking

ルック(最後のパラメータは、ネットワーク名です)。

+0

チップのおかげで。私はドキュメント内のネットワークフラグを見て、それを使用していないので少し混乱しましたが、私はドッカーの作成を使用しているので、それは明らかにそれに影響します。あなたが指定したコマンドは有望に見えますが、もう一度感謝します。 – gfunk

+0

デフォルトでは、Compose(バージョン2)はアプリのための単一のネットワークを設定します。サービスの各コンテナはデフォルトのネットワークに参加し、そのネットワーク上の他のコンテナによって到達可能であり、コンテナ名と同じホスト名でそのコンテナが検出可能です。docker-composeを実行すると、myapp_defaultというネットワークが作成されます。 "docker network inspect mypp_default"を実行して、どのようなドッカーネットワークであるかを確認します。 defaultという名前のネットワークの下にエントリを定義することによって、アプリケーション全体のデフォルトネットワークの設定を変更することもできます。 https://docs.docker.com/compose/networking/を参照してください。 – gile

+0

私は 'docker run -it --network = bridge $ {container_id}/bin/bash'を使ってイメージを起動しましたが、依然としてホストホスト経由でアドレスを解決していましたファイルのように見えた。 (ブリッジとしてネットワークを指定する必要はありませんが、ホストネットワークを使用していないことを明確にしたかっただけです)。私は問題の場合にマックbtwのためのドッカーを使用しています。これは期待されていますか? – gfunk

関連する問題