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 ਰਿਮੋਟ ਬਿਲਡਰ ਜਾਂ ਸਰਵਰ ਉੱਤੇ ਬਿਨਾਂ ਬਦਲਾਅ ਚੱਲਣ ਦੀ ਸੰਭਾਵਨਾ ਖ਼ਾਸ ਤੌਰ ਉੱਤੇ ਘੱਟ ਹੈ।
ਇਮੇਜ ਡਾਊਨਲੋਡ ਦੀਆਂ ਸਮੱਸਿਆਵਾਂ ਵੱਖ ਰੱਖੋ: ਐਪਲੀਕੇਸ਼ਨ ਉੱਪਰਲਾ ਵਾਤਾਵਰਨ ਵਰਤ ਸਕਣ ਤੋਂ ਪਹਿਲਾਂ ਡੈਮਨ ਇਮੇਜ ਡਾਊਨਲੋਡ ਕਰਦਾ ਹੈ।