2014-12-26 17 views
5

Trên máy chủ, tìm kiếm tên miền rất nhanh. Tuy nhiên, bên trong vùng chứa docker, có nhiều hơn
chậm hơn và đôi khi hết thời gian chờ.chậm hoặc hết thời gian chờ xử lý bên trong docker

Máy chủ lưu trữ là máy chủ ảo và địa chỉ máy chủ dns là 127.0.0.1 (lạ nhưng đúng). Vì vậy, tôi đã cố gắng sửa đổi /etc/resolv.conf bên trong thùng chứa và thiết lập máy chủ dns là 172.x (địa chỉ của máy chủ). Kết quả là tôi không thấy có hiệu quả tốt.

Tôi cũng đã cố gắng đặt máy chủ dns của vùng chứa thành máy chủ tự xây dựng (101.x), nhưng vẫn còn chậm để tra cứu tên miền. Một điều kỳ lạ nữa là ping 101.x rất nhanh.

Tôi đang bối rối về hiện tượng này, bất kỳ ai cũng có thể giải thích và trợ giúp?

+0

gặp sự cố tương tự, bạn đã sửa chưa? – Chen

+0

thật không may, không. – dastan

+0

bạn đang sử dụng phiên bản hình ảnh nào? đối với tôi là núi cao, vẫn có lỗi với việc giải quyết dns, hãy xem https://github.com/gliderlabs/docker-alpine/issues/8 – Chen

Trả lời

0

Tôi không chắc chắn lý do giải quyết DNS chậm trong các vùng chứa, nhưng tôi có quy trình mà tôi làm theo để giải quyết DNS trong vùng chứa docker.

Để xác minh vấn đề độ phân giải DNS:

# docker run busybox nslookup google.com 
    Server: 8.8.8.8 
    Address 1: 8.8.8.8 
    nslookup: can't resolve 'google.com' 

Tìm hiểu máy chủ DNS được sử dụng trong máy tính của bạn:

# nm-tool |grep DNS 
    DNS:    172.24.100.50 
    DNS:    10.1.100.50 

Run nó một lần nữa sử dụng DNS IP tìm thấy trong các bước trên giải quyết vấn đề DNS:

# docker run --dns 172.24.100.50 busybox nslookup google.com 
Server: 172.24.100.50 
Address 1: 172.24.100.50 indc01.radisys.com 
Name:  google.com 
Address 1: 2607:f8b0:4009:80c::200e ord36s01-in-x0e.1e100.net 
Address 2: 172.217.4.110 ord36s04-in-f14.1e100.net 

Để giải quyết nó vĩnh viễn thêm nội dung dưới đây như sau vào một tập tin mới:

[email protected]:/home/labadmin# cat /etc/docker/daemon.json 
{ 
    "dns" : ["172.24.100.50", "8.8.8.8"] 
} 

Thông tin thêm về Docker DNS configuration.

Khởi động lại dịch vụ Docker và xác minh lại:

# docker run busybox nslookup google.com 
Server: 172.24.100.50 
Address 1: 172.24.100.50 indc01.radisys.com 
Name:  google.com 
Address 1: 2607:f8b0:4009:801::200e ord30s31-in-x0e.1e100.net 
Address 2: 172.217.4.238 ord30s31-in-f14.1e100.net 

Kiểm tra nó bằng cách chạy container:

# docker run -it e02e811dd08f 
/# ping google.com 
PING google.com (172.217.4.238): 56 data bytes 
64 bytes from 172.217.4.238: seq=0 ttl=47 time=251.506 ms 
64 bytes from 172.217.4.238: seq=1 ttl=47 time=245.621 ms 

Hope this helps.

Các vấn đề liên quan