DNS của dịch vụ Docker và bỏ qua proxy với no_proxy
Dùng no_proxy cho một dịch vụ nội bộ dự định khi proxy HTTP bên ngoài không thể phân giải hoặc tiếp cận mạng đó.
Proxy HTTP bên ngoài không cần biết tên dịch vụ api của Docker. Với http://api:8080/, proxy mở kết nối tiếp theo, nên việc phân giải thành công bên trong container ứng dụng không chứng minh góc nhìn DNS của proxy.
Để có quyền truy cập trực tiếp như mong muốn, hãy thêm ngoại lệ vào môi trường của container đó:
environment:
http_proxy: http://proxy.example:8080
https_proxy: http://proxy.example:8080
no_proxy: apiCác yêu cầu trực tiếp đến api dùng tuyến đường của container và trình phân giải nhúng. Hai container vẫn cần mạng dùng chung do người dùng định nghĩa và dịch vụ phải lắng nghe trên 8080. Các yêu cầu bên ngoài đủ điều kiện vẫn giữ proxy. Nếu các đích công khai đó có thể dùng trung gian công khai, danh sách proxy HTTP cung cấp ứng viên cho các URL proxy không cần tài khoản; giữ api trong các ngoại lệ trực tiếp.
Nếu container được tạo lại vẫn giữ các biến bất thường, hãy kiểm tra phần config.json proxies của ứng dụng khách Docker, phần này có thể chèn giá trị môi trường. Thay đổi mục dự định và tạo lại các container bị ảnh hưởng theo luồng bình thường, giữ nguyên cấu hình không liên quan.