Tôi có một số dịch vụ chạy trong vùng chứa docker và một máy chủ nginx ở phía trước, tất cả các vùng chứa trong cùng một mạng docker. Trước khi docker 1.10 Tôi đã tạo một container dnsmasq và nằm trong nginx set resolver để nó có thể được phát hiện từ nginx.Nginx không nhận được máy chủ lưu trữ từ DNS nhúng trong docker 1.10.1
Nhưng sau khi nâng cấp lên docker 1.10.1, hình ảnh dnsmasq không hoạt động. Sau một số nghiên cứu, tôi đã cố gắng sử dụng "nhúng dns" mới từ địa chỉ 127.0.0.11 thay vào đó (mà tôi nghĩ rằng nên là cách chính xác để sử dụng trong mạng docker). Mặc dù tôi có thể ping đến container dịch vụ từ nginx container, nhưng nginx tiếp tục gửi lại could not be resolved (3: Host not found)
.
Và sau đó tôi cố gắng sử dụng lệnh chủ, tôi có kết quả rất khó hiểu: (địa chỉ ip đầu tiên, và sau đó không nhận diện - cùng một mã như tôi nhận được từ 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 làm việc
/# 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
Sau đây là một phiên bản đơn giản của cấu hình của tôi:
Docker-compose.yml
version: '2'
services:
nginx:
build: .
ports:
- 80:80
service-ui:
image: service-ui
networks:
default:
external:
name: ssx
nginx.conf trong container
location ~ /([a-z]*)/ {
resolver 127.0.0.11;
proxy_pass http://$1-ui:9000$uri$is_args$args;
}
Đây cũng là kết quả tiết từ máy chủ:
# 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
phiên bản Docker My
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
bất cứ ai có thể giúp tôi tìm ra những gì đi sai ? Hoặc làm cách nào để tìm hiểu vấn đề này?
Cảm ơn bạn @phobologic, đã làm việc như một sự quyến rũ – waterscar
OMG! Tôi đã bị mắc kẹt về vấn đề này trong nhiều giờ, nghĩ rằng đó là cấu hình nginx của tôi (tôi khá mới để nginx) nhưng thực sự bạn đã giải quyết nó @phobologic. Cảm ơn bạn đã giúp đỡ! – nschoe
Phiên bản Engine 1.11 bao gồm hỗ trợ cho ipv6 ngay bây giờ. Xem thông báo trên blog: https://blog.docker.com/2016/04/docker-engine-1-11-runc/ – Subfuzion