DockerコンテナーDNSの設定
Dockerが仮想マシン(Docker for Mac、Docker for Windows)で実行される場合、デフォルトのコンテナーDNS設定は物理マシンの設定とは異なります。その場合は、Remote Engine Gen2に含まれているDocker設定ファイル内のDNSを設定する必要があります。
手順
タスクの結果
version: '3.6'
networks: ...
volumes:...
services:
...
component-server:
image: ${COMPONENTS_IMG}
...
labels:...
dns:
- 8.8.8.8
- 9.9.9.9
dns_search:
- dc1.example.com
- dc2.example.com
extra_hosts:
- "somehost:162.242.195.82"
- "otherhost:50.31.209.229"
...
このトピックの詳細は、Dockerのドキュメンテーションを参照してください。
詳細情報:
Remote Engine Gen2のサービスは、remote-engine_defaultというユーザー定義のブリッジネットワーク上でDockerコンテナーとして実行されます。
情報メモヒント: ユーザー定義のこのブリッジがあるかどうかは、コマンドdocker network lsを実行して確認できます。
Dockerバージョン1.10の段階では、ユーザー定義のブリッジネットワークにはDNSサーバーが組み込まれています。詳細は、埋め込みDNSサーバーとユーザー定義のネットワークに関するDockerのドキュメンテーションを参照してください。ランタイムで指定されるオプションによっては、Dockerコンテナー用のDNSサービスレゾリューションに影響を与えることがあります。ただし、そのようなオプションが使われていない場合、デフォルト動作としてDockerはホストマシンの/etc/resolv.confを使います。ホストマシンはDockerのデーモンが実行される場所です。物理マシン上ではDockerを実行できず、仮想マシン上で実行しなければならない場合があります。DockerコンテナーDNSをdocker-compose.ymlファイル内で手動で設定する場合があるのはそのためです。