Capai Proksi Hos dari Bekas Docker Bridge
Pilih alamat proksi yang boleh dicapai bekas dan bezakan titik akhir awam daripada proksi pada hos Docker.
Bagi bekas biasa dalam rangkaian bridge, 127.0.0.1 ialah alamat loopback bekas itu sendiri. Proksi yang mendengar pada localhost komputer riba tidak terus mendengar dalam setiap bekas.
Ini menerangkan perbezaan lazim: URL proksi sama berfungsi dalam terminal hos tetapi sambungan ditolak dalam bekas. Alamat itu merujuk titik rangkaian berlainan di setiap tempat.
Proksi awam boleh digunakan terus
Jika titik akhir daripada perkhidmatan atau senarai proksi HTTP benar-benar IP awam yang boleh dicapai, berikan alamat itu kepada aplikasi dan bukannya menukarnya kepada localhost:
docker run --rm \
-e HTTP_PROXY=http://203.0.113.10:8080 \
-e HTTPS_PROXY=http://203.0.113.10:8080 \
your-image
Gantikan alamat dokumentasi dan imej. Program dalam imej masih perlu menyokong pemboleh ubah persekitaran itu; Docker tidak menjadikan setiap soket permintaan proksi hanya kerana pemboleh ubah wujud.
Jika proksi berjalan pada hos Docker
Docker Desktop menyediakan host.docker.internal untuk mencapai alamat dalaman hos. Dalam persediaan Engine natif yang disokong, pemetaan hos boleh membekalkan nama konvensional ini:
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
Ini menukar penyelesaian nama, bukan arahan pemajuan port. Pada Linux natif, perkhidmatan terikat hanya pada loopback hos mungkin masih tidak dicapai melalui alamat bridge hos. Pendengar, tembok api dan laluan bekas mesti membenarkan sambungan. Jika menukar pendengar, hadkannya kepada klien diperlukan dan bukannya mencipta proksi terbuka tanpa pengesahan.
Uji dari tempat sama seperti aplikasi
Hasil curl pada hos hanya menguji laluan hos. Jalankan permintaan dari persekitaran bekas dan semak sama ada ia mencapai titik akhir yang dimaksudkan.
‘Hos’ juga bermaksud mesin yang menjalankan Docker Engine. Dengan Engine jauh, ia tidak semestinya komputer riba anda. Oleh itu IP loopback daripada aplikasi desktop tempatan sangat tidak mungkin berfungsi tanpa perubahan pada pembina atau pelayan jauh.
Asingkan masalah tarikan imej: daemon memuat turun imej sebelum aplikasi boleh menggunakan persekitaran di atas.