Điểm:0

Sử dụng dnsmasq trong bộ chứa Docker cho máy chủ lưu trữ và cho độ phân giải DNS nội bộ của Docker

lá cờ re

Tôi đang làm việc trên một dự án web bao gồm nhiều dịch vụ. Mỗi dịch vụ đều có tệp docker-compose.yml riêng khai báo đó là "ứng dụng" và đó là các phụ thuộc có thể có (cơ sở dữ liệu, v.v.). Để tất cả chúng chơi tốt với nhau, tôi đã xây dựng một local dev env liên kết chúng với một proxy nginx có các khối máy chủ với tên máy chủ phù hợp và sau đó proxy_pass'es các yêu cầu tới các vùng chứa thực tế bằng cách sử dụng mạng của Docker.

Tôi cũng đã thêm dnsmasq vào vùng chứa để hỗ trợ DNS, để sử dụng tên miền cục bộ thay vì tổ hợp localhost:port (bằng cách thêm trình phân giải cho tld thử nghiệm thành 127.0.0.1).

Proxy docker-soạn thảo:

dịch vụ:
    proxy cục bộ:
        xây dựng: ./nginx
        cổng:
            - 80:80
            - 443:443

    cục bộ-proxy-dnsmasq:
        bản dựng: ./dnsmasq # bản dựng trên 4km3/dnsmasq
        cổng:
            - "53:53/tcp"
            - "53:53/udp"
        cap_add:
            - NET_ADMIN
mạng:
    mặc định:
        bên ngoài:
            tên: tên miền-địa phương

dnsmasq.conf:

nghe-địa chỉ=0.0.0.0
giao diện = eth0
người dùng = gốc

địa chỉ=/.test/0.0.0.0

ví dụ máy chủ proxy nginx:

người phục vụ {
    server_name login.domain.test;
    địa điểm / {
        # tiêu đề...
        proxy_pass http://domain-login:8080;
    }
}

ví dụ docker-compose của một trong các dịch vụ:

dịch vụ:
    đăng nhập tên miền:
        xây dựng: # ...
        mạng:
            - mặc định
            - tên miền-địa phương

Tất cả điều này hoạt động hoàn toàn tốt trong trình duyệt, tôi có thể truy cập tenant.domain.test , được chuyển hướng đến login.domain.test...

Tuy nhiên, khi vùng chứa đang chạy tenant.domain.test phải thực hiện yêu cầu cuộn tròn từ vùng chứa của nó tới một trong các vùng chứa khác (ví dụ: login.domain.test để hoàn thành quy trình oauth), thì vùng chứa đó gặp trục trặc khi đang cố gắng giải quyết login.domain.test bằng cách đi đến chính nó:

root@6d25c2f5daf1:/var/www/app# nslookup login.domain.test
Máy chủ: 127.0.0.11
Địa chỉ: 127.0.0.11#53

Câu trả lời không có thẩm quyền:
Tên: login.domain.test
Địa chỉ: 0.0.0.0
;; kết nối quá hạn; không thể truy cập máy chủ

Nếu tôi thay đổi dnsmasq.conf từ địa chỉ=/.test/0.0.0.0 đến địa chỉ=/.test/10.0.1.102 (IP hiện được gán cho máy tính của tôi), mọi thứ đều hoạt động. Tuy nhiên, đây tất nhiên không phải là một giải pháp hiệu quả cho đồng nghiệp chẳng hạn. Có ai có thể đặt tôi vào đúng đường dẫn Google có khả năng hoặc có cách khắc phục không?

Điểm:1
lá cờ jp

Dòng địa chỉ=/.test/0.0.0.0 kể dnsmasq giải quyết tên miền kiểm tra đến địa chỉ IP 0.0.0.0. Địa chỉ 0.0.0.0không phải là một địa chỉ IP hợp lệ. Nó được xử lý bởi một số trình duyệt (ví dụ: chrome) như 127.0.0.1 nhưng đó là hành vi không chuẩn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.