この美しい 2017 年の始まりを迎えて、皆様にご挨拶申し上げます。
Azure Container Service Cloud で docker-compose と docker Swarm によるオーケストレーションを使用してビルドされた "マイクロサービス" アプリケーションがあります。Azure 上の Docker のバージョンは 1.12.5 です。
一部のアプリケーションが、私たちの場所でホストされている一部のサーバーに接続できるように、サイト間 VPN をセットアップしました。VPN 接続は魅力のように機能します。Azure クラウドの仮想マシンからプライベート DNS と他のサーバーに ping を実行できます。厄介なのは、docker-compose が他の DNS サーバーの定義を処理していないことです。Docker Compose で、プライベート DNS の IP と Google パブリック DNS の 2 つの IP を定義しました。
version: '2'
services:
myApp:
build: something
dns:
- X.X.X.X
- 8.8.8.8
- 8.8.4.4
あなたが疑うように、これはうまくいきません。myApp の /etc/resolv.conf には、これらの IP が含まれていません。
この種のコマンドで myApp を実行しようとしました:
docker run myAppContainer –dns X.X.X.X …
このようにして、myApp コンテナーは、必要に応じてプライベート DNS を使用します。
ホスト上のドッカーのデフォルト値(/etc/default/docker)を編集することで簡単な解決策を提供する投稿をたくさん見ました。しかし、Azure でのセットアップでは、Swarm エージェントをホストする仮想マシンで何も変更できません。
だから、私は本当にあなたの助けが必要です。