ドッカーのコンテナで複数のサービスが実行され、その前に1台のnginxサーバーがあり、すべてのコンテナが同じドッカーネットワーク内にあります。ドッカー1.10の前に、dnsmasqコンテナを作成し、nginx内にリゾルバを設定して、nginxからサービスを発見できるようにしました。Nginxはdocker 1.10.1の埋め込みDNSからホストを取得しません
しかし、ドッカー1.10.1にアップグレードした後、dnsmasqイメージは機能しません。いくつかの調査の後、127.0.0.11のアドレスから新しい埋め込みDNSを使用しようとしました(これはドッカーネットワーク内で使用する正しい方法だと思います)。私はnginxのコンテナからサービスコンテナにpingすることができますが、nginxはcould not be resolved (3: Host not found)
を送り返し続けます。
そして私は、私は非常に混乱の結果を得た、ホストコマンドを使用しようとしました:(最初のIPアドレス、および見つからないホスト - 私はnginxのからもらったのと同じコード)
# host service-ui
service-ui has address 172.18.0.7
Host service-ui not found: 3(NXDOMAIN)
Host service-ui not found: 3(NXDOMAIN)
のPingが
の作品ドッキングウィンドウ-compose.yml
:/# ping service-ui
PING service-ui (172.18.0.7): 56 data bytes
64 bytes from 172.18.0.7: icmp_seq=0 ttl=64 time=1.123 ms
64 bytes from 172.18.0.7: icmp_seq=1 ttl=64 time=0.131 ms
64 bytes from 172.18.0.7: icmp_seq=2 ttl=64 time=0.178 ms
以下は、私の構成の簡易版であります
# host -v service-ui
Trying "service-ui"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55237
;; flags: qr rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;service-ui. IN A
;; ANSWER SECTION:
service-ui. 1800 IN A 172.18.0.7
Received 52 bytes from 127.0.0.11#53 in 1 ms
Trying "service-ui"
Host service-ui not found: 3(NXDOMAIN)
Received 102 bytes from 127.0.0.11#53 in 1 ms
Received 102 bytes from 127.0.0.11#53 in 1 ms
Trying "service-ui"
Host service-ui not found: 3(NXDOMAIN)
Received 102 bytes from 127.0.0.11#53 in 1 ms
Received 102 bytes from 127.0.0.11#53 in 1 ms
マイドッカバージョン
Client:
Version: 1.10.1
API version: 1.22
Go version: go1.5.3
Git commit: 9e83765
Built: Thu Feb 11 19:27:08 2016
OS/Arch: linux/amd64
Server:
Version: 1.10.1
API version: 1.22
Go version: go1.5.3
Git commit: 9e83765
Built: Thu Feb 11 19:27:08 2016
OS/Arch: linux/amd64
誰も私が間違って行くかを把握するのに役立ちます。コンテナ
location ~ /([a-z]*)/ {
resolver 127.0.0.11;
proxy_pass http://$1-ui:9000$uri$is_args$args;
}
内
version: '2'
services:
nginx:
build: .
ports:
- 80:80
service-ui:
image: service-ui
networks:
default:
external:
name: ssx
nginx.confはここで、ホストからの詳細な結果です?またはこの問題を掘り起こす方法は?
ありがとうございました@魔法のように、魔法のように働いた – waterscar
OMG!私はこの問題に数時間悩まされていた、それは私のnginx設定(私はかなりnginxに新しいです)だと思ったが、実際にはそれを@phobologicで解決しました。ご協力いただきありがとうございます! – nschoe
エンジン1.11リリースには、現在ipv6のサポートが含まれています。ブログのお知らせをご覧ください:https://blog.docker.com/2016/04/docker-engine-1-11-runc/ – Subfuzion