ドッキング・コンテナをローカルで実行して、DNS解決にホスト/etc/hosts
ファイルを使用しないようにすることは可能ですか?ドッキング・コンテナ内のホスト・ファイルを無効にする
例えば、私の地元の/etc/hosts
ファイルに私は127.0.0.1 stackoverflow.com
を設定することができますが、私のドッキングウィンドウコンテナ内stackoverflow.comは実際のIPに解決されます。
ドッキング・コンテナをローカルで実行して、DNS解決にホスト/etc/hosts
ファイルを使用しないようにすることは可能ですか?ドッキング・コンテナ内のホスト・ファイルを無効にする
例えば、私の地元の/etc/hosts
ファイルに私は127.0.0.1 stackoverflow.com
を設定することができますが、私のドッキングウィンドウコンテナ内stackoverflow.comは実際のIPに解決されます。
コンテナ内のネットワーク構成は、コンテナを実行しているときにのみ、ホスト名が--network=host
であることがわかります。
--network
オプションを付けずにコンテナを実行すると、Dockerデーモンはコンテナをデフォルトのbridge
ネットワークに接続します。このデフォルトネットワーク内のコンテナは、IPアドレスを使用して相互に通信できます。
一覧]ドッキングウィンドウの
docker network ls
とのネットワークとあなたが
docker network inspect bridge
によってそれらを検査することができますが、より詳しくは、Docker container networkingで
ルック(最後のパラメータは、ネットワーク名です)。
チップのおかげで。私はドキュメント内のネットワークフラグを見て、それを使用していないので少し混乱しましたが、私はドッカーの作成を使用しているので、それは明らかにそれに影響します。あなたが指定したコマンドは有望に見えますが、もう一度感謝します。 – gfunk
デフォルトでは、Compose(バージョン2)はアプリのための単一のネットワークを設定します。サービスの各コンテナはデフォルトのネットワークに参加し、そのネットワーク上の他のコンテナによって到達可能であり、コンテナ名と同じホスト名でそのコンテナが検出可能です。docker-composeを実行すると、myapp_defaultというネットワークが作成されます。 "docker network inspect mypp_default"を実行して、どのようなドッカーネットワークであるかを確認します。 defaultという名前のネットワークの下にエントリを定義することによって、アプリケーション全体のデフォルトネットワークの設定を変更することもできます。 https://docs.docker.com/compose/networking/を参照してください。 – gile
私は 'docker run -it --network = bridge $ {container_id}/bin/bash'を使ってイメージを起動しましたが、依然としてホストホスト経由でアドレスを解決していましたファイルのように見えた。 (ブリッジとしてネットワークを指定する必要はありませんが、ホストネットワークを使用していないことを明確にしたかっただけです)。私は問題の場合にマックbtwのためのドッカーを使用しています。これは期待されていますか? – gfunk