Docker bridge கண்டெய்னரிலிருந்து ஹோஸ்ட் ப்ராக்ஸியை அணுகுதல்
கண்டெய்னரிலிருந்து அணுகக்கூடிய ப்ராக்ஸி முகவரியைத் தேர்ந்தெடுத்து, பொது முனைப்பையும் Docker ஹோஸ்டின் ப்ராக்ஸியையும் வேறுபடுத்துங்கள்.
சாதாரண bridge வலையமைப்புக் கண்டெய்னரில் 127.0.0.1 என்பது கண்டெய்னரின் சொந்த loopback முகவரி. மடிக்கணினியின் localhost-ல் கேட்கும் ப்ராக்ஸி ஒவ்வொரு கண்டெய்னருக்குள்ளும் தானாகக் கேட்பதில்லை.
வழக்கமான வேறுபாட்டை இது விளக்குகிறது: அதே ப்ராக்ஸி URL ஹோஸ்ட் முனையத்தில் வேலை செய்யும், ஆனால் கண்டெய்னரில் இணைப்பு மறுக்கப்படும். ஒவ்வொரு இடத்திலும் முகவரி வேறு வலையமைப்பு முனைப்பைக் குறிக்கிறது.
பொது ப்ராக்ஸியை நேரடியாகப் பயன்படுத்தலாம்
ஒரு சேவையிலிருந்தோ HTTP ப்ராக்ஸி பட்டியலிலிருந்தோ தேர்ந்தெடுக்கப்பட்ட முனைப்பு உண்மையிலேயே அணுகக்கூடிய பொது IP எனில், அதை localhost ஆக மாற்றாமல் அந்த முகவரியைப் பயன்பாட்டுக்குக் கொடுங்கள்:
docker run --rm \
-e HTTP_PROXY=http://203.0.113.10:8080 \
-e HTTPS_PROXY=http://203.0.113.10:8080 \
your-image
ஆவணத்திலுள்ள எடுத்துக்காட்டு முகவரியையும் இமேஜையும் மாற்றுங்கள். இமேஜின் நிரல் இந்தச் சூழல் மாறிகளை ஆதரிக்க வேண்டும்; மாறிகள் இருப்பதால் மட்டும் Docker ஒவ்வொரு socket-ஐயும் ப்ராக்ஸி வழிக் கோரிக்கையாக மாற்றுவதில்லை.
ப்ராக்ஸி Docker ஹோஸ்டில் இயங்கினால்
ஹோஸ்டின் அக முகவரியை அடைய Docker Desktop host.docker.internal வழங்குகிறது. ஆதரிக்கப்படும் நேட்டிவ் Engine அமைப்பில் ஹோஸ்ட் மேப்பிங் இந்த வழக்கமான பெயரை வழங்கலாம்:
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
இது பெயர் தீர்மானிப்பை மாற்றுகிறது; போர்ட் ஃபார்வர்டிங் கட்டளை அல்ல. நேட்டிவ் Linux-ல் ஹோஸ்டின் loopback-க்கு மட்டும் பிணைக்கப்பட்ட சேவை ஹோஸ்டின் bridge முகவரி வழியாக இன்னும் அணுக முடியாததாக இருக்கலாம். லிஸனர், ஃபயர்வால், கண்டெய்னரின் வழித்தடம் ஆகியவை அந்த இணைப்பை அனுமதிக்க வேண்டும். லிஸனரை மாற்றினால், அங்கீகாரமில்லாத திறந்த ப்ராக்ஸியை உருவாக்குவதற்குப் பதிலாக அணுகல் தேவைப்படும் கிளையன்ட்களுக்கு மட்டும் கட்டுப்படுத்துங்கள்.
பயன்பாடு இயங்கும் அதே இடத்திலிருந்து சோதியுங்கள்
ஹோஸ்டின் curl முடிவு ஹோஸ்டின் வழித்தடத்தை மட்டும் சோதிக்கும். தொடர்புடைய கோரிக்கையைக் கண்டெய்னர் சூழலிலிருந்து அனுப்பி, நோக்கமுள்ள முனைப்பை அடைகிறதா பாருங்கள்.
‘ஹோஸ்ட்’ என்பது Docker Engine இயங்கும் கணினியையும் குறிக்கிறது. தொலைநிலை Engine எனில் அது உங்கள் மடிக்கணினியாக இருக்க வேண்டியதில்லை. எனவே உள்ளூர் டெஸ்க்டாப் பயன்பாட்டிலிருந்து நகலெடுத்த loopback IP தொலைநிலை builder அல்லது சேவையகத்தில் மாற்றமின்றி இயங்கும் வாய்ப்பு குறிப்பாகக் குறைவு.
இமேஜ் பதிவிறக்கச் சிக்கல்களைத் தனியாகக் கையாளுங்கள்: பயன்பாடு மேலுள்ள சூழலைப் பயன்படுத்துவதற்கு முன்பே daemon இமேஜைப் பதிவிறக்குகிறது.