Docker Bridge Konteynerinden Host Proxyye Erişmek
Konteynerden erişilebilir bir proxy adresi seçin; herkese açık uç noktayı Docker hostunda çalışan proxyden ayırın.
Normal bridge ağlı konteynerde 127.0.0.1 konteynerin kendi loopback adresidir. Dizüstünüzün localhost’unda dinleyen proxy her konteynerde otomatik dinlemez.
Bu, sık görülen ayrımı açıklar: aynı proxy URL’si host terminalinde çalışır ama konteynerde bağlantı reddedilir. Adres her yerde farklı ağ uç noktasını belirtir.
Herkese açık proxy doğrudan kullanılabilir
Hizmetten veya HTTP proxy listesinden seçilen uç nokta gerçekten erişilebilir herkese açık IP ise localhost’a çevirmek yerine o adresi uygulamaya verin:
docker run --rm \
-e HTTP_PROXY=http://203.0.113.10:8080 \
-e HTTPS_PROXY=http://203.0.113.10:8080 \
your-image
Belge adresini ve imajı değiştirin. İmaj içindeki program yine bu ortam değişkenlerini desteklemelidir; Docker yalnızca değişkenler var diye her soketi proxy isteğine dönüştürmez.
Proxy Docker hostunda çalışıyorsa
Docker Desktop hostun iç adresine erişmek için host.docker.internal sunar. Desteklenen yerel Engine kurulumunda host eşlemesi bu geleneksel adı sağlayabilir:
docker run --rm \
--add-host host.docker.internal=host-gateway \
-e HTTP_PROXY=http://host.docker.internal:8080 \
-e HTTPS_PROXY=http://host.docker.internal:8080 \
your-image
Bu, ad çözümlemesini değiştirir; port yönlendirme komutu değildir. Yerel Linux’ta yalnızca host loopback adresine bağlı hizmete hostun bridge adresinden hâlâ erişilemeyebilir. Dinleyici, güvenlik duvarı ve konteyner rotası bağlantıya izin vermelidir. Dinleyiciyi değiştirirseniz kimlik doğrulamasız açık proxy oluşturmak yerine gereken istemcilerle sınırlayın.
Uygulamayla aynı yerden test edin
Hosttaki curl sonucu yalnızca host rotasını test eder. İsteği konteyner ortamından yapıp amaçlanan uç noktaya ulaştığını kontrol edin.
‘Host’, Docker Engine’in çalıştığı makineyi de belirtir. Uzak Engine kullanıldığında bu, dizüstünüz olmak zorunda değildir. Yerel masaüstü uygulamasından alınan loopback IP’nin uzak builder veya sunucuda değişmeden çalışması bu yüzden özellikle düşük olasılıktır.
İmaj çekme sorunlarını ayırın: uygulama yukarıdaki ortamı kullanamadan daemon imajı indirir.