Điểm:0

Docker không thể kéo hình ảnh phía sau máy chủ proxy

lá cờ in

đang sử dụng phiên bản docker 20.10.14 với CentOS Linux 7, tôi vừa cài đặt docker và thiết lập cài đặt proxy trong /usr/lib/systemd/system/docker.service và cài đặt proxy của tôi là

Môi trường="HTTP_PROXY=http://10.330.100.100:3128/"
Môi trường="HTTPS_PROXY=https://10.330.100.100:3128/"
Môi trường=no_proxy=localhost,127.0.0.1

tôi nhận được một lỗi như

Phản hồi lỗi từ daemon: Nhận "https://registry-1.docker.io/v2/": proxyconnect tcp: tls: bản ghi đầu tiên trông không giống một cái bắt tay TLS

và khi thay đổi HTTPS_PROXY từ https -> http tôi nhận được

Phản hồi lỗi từ daemon: Nhận "https://registry-1.docker.io/v2/": Yêu cầu không hợp lệ

và khi cố gắng cuộn tròn "https://registry-1.docker.io/v2/", tôi nhận được

curl: (56) Đã nhận mã HTTP 400 từ proxy sau CONNECT
Rami avatar
lá cờ in
Tôi đoán câu hỏi đặt ra là nếu máy chủ proxy không hỗ trợ https thì có cách nào khắc phục được không?
lá cờ co
"nếu máy chủ proxy không hỗ trợ https thì có cách giải quyết" Không, bạn cần hỗ trợ https để lấy từ Docker Hub.
lá cờ co
Đây có vẻ là một câu hỏi XY, vấn đề không phải là cách kéo hình ảnh qua http, mà là cách khắc phục máy chủ proxy để hỗ trợ https. Để làm được điều đó, chúng tôi cần thông tin chi tiết về máy chủ proxy, không phải về thiết lập docker.
Điểm:0
lá cờ us
Rob
Môi trường="HTTP_PROXY=http://10.330.100.100:3128/"
Môi trường="HTTPS_PROXY=https://10.330.100.100:3128/"
                             ^^^^^

Tại đây, bạn định cấu hình máy chủ proxy của mình để khả dụng qua HTTP và HTTPS đơn giản trên cùng một cổng. Điều đó rất khó xảy ra.

Máy chủ proxy của bạn được định cấu hình bằng chứng chỉ TLS của chính nó và sẽ lắng nghe trên các cổng khác nhau cho http và https.

Hoặc, và đó thường là trường hợp, máy chủ proxy chỉ hỗ trợ các kết nối http thuần túy và các yêu cầu đối với tài nguyên HTTPS sẽ vẫn cần sử dụng HTTP thuần túy để tạo kết nối đến máy chủ proxy. (Sau khi được kết nối với proxy, máy khách sẽ sử dụng phương thức CONNECT để thiết lập kết nối TLS qua proxy tới máy chủ web tạo kênh được mã hóa đầu cuối.)

Nói cách khác: bạn có thể cần thay đổi biến HTTPS_PROXY thành:

Môi trường="HTTPS_PROXY=http://10.330.100.100:3128/"

Khi bạn được yêu cầu sử dụng proxy, điều đó thường có nghĩa là lưu lượng TLS cũng được kiểm soát. Bạn có thể cần phải cài đặt và kích hoạt chứng chỉ CA của tổ chức mình.


Khi bạn được yêu cầu sử dụng proxy, điều đó có nghĩa là những người khác trong tổ chức của bạn cũng phải làm như vậy.

Điều đó có nghĩa là bạn (hay đúng hơn là máy chủ proxy của bạn, sẽ rất nhanh gặp phải giới hạn tốc độ docker. Xem: https://docs.docker.com/docker-hub/download-rate-limit/

Đă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.