ਬਿਲਡ ਦੌਰਾਨ ਪੈਕੇਜ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ, Dockerfile ENV ਵਿੱਚ ਅਸਥਾਈ ਰਸਤਾ ਸੰਭਾਲਣ ਦੀ ਬਜਾਏ Docker ਦੇ ਪਹਿਲਾਂ ਤੋਂ ਪਰਿਭਾਸ਼ਿਤ ਪ੍ਰੌਕਸੀ ਬਿਲਡ ਇਨਪੁਟ ਵਰਤੋ। ਇੱਕ POSIX invocation ਇਹ ਦੇ ਸਕਦੀ ਹੈ:

HTTP_PROXY=http://203.0.113.10:8080 \
HTTPS_PROXY=http://203.0.113.10:8080 \
docker build --build-arg HTTP_PROXY --build-arg HTTPS_PROXY .

ਦਸਤਾਵੇਜ਼ ਵਾਲਾ endpoint ਬਦਲੋ। --build-arg ਨਾਵਾਂ ਤੋਂ ਬਾਅਦ ਮੁੱਲ ਛੱਡਣ ਨਾਲ ਉਹ ਇਸ invocation ਦੇ environment ਤੋਂ ਲਏ ਜਾਂਦੇ ਹਨ। ਇਹਨਾਂ ਪਹਿਲਾਂ ਤੋਂ ਪਰਿਭਾਸ਼ਿਤ ਇਨਪੁਟਾਂ ਲਈ ਮੇਲ ਖਾਂਦੀਆਂ ARG ਘੋਸ਼ਣਾਵਾਂ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।

Docker ਉਹਨਾਂ ਪ੍ਰੌਕਸੀ ਆਰਗਿਊਮੈਂਟਾਂ ਨੂੰ ਡਿਫ਼ਾਲਟ ਰੂਪ ਵਿੱਚ ਬਿਲਡ ਕੈਸ਼ ਸੰਭਾਲ ਅਤੇ docker history ਤੋਂ ਬਾਹਰ ਰੱਖਦਾ ਹੈ। Dockerfile ਵਿੱਚ ਉਹਨਾਂ ਦਾ ਸਪਸ਼ਟ ਹਵਾਲਾ ਦੇਣ ਨਾਲ ਇਹ ਵਿਹਾਰ ਬਦਲ ਜਾਂਦਾ ਹੈ, ਇਸ ਲਈ ਸਿਰਫ਼ ਇਸ ਲਈ ਘੋਸ਼ਣਾਵਾਂ ਨਾ ਜੋੜੋ ਕਿ ਕੋਈ ਹੋਰ ਬਿਲਡ-ਆਰਗਿਊਮੈਂਟ ਉਦਾਹਰਨ ਅਜਿਹਾ ਕਰਦੀ ਹੈ।

ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਮੁੱਲ ਫਿਰ ਵੀ ਮਿਲਦੇ ਹਨ। ਪ੍ਰਮਾਣਿਤ URL ਪ੍ਰਿੰਟ ਕੀਤੇ environment, ਲੌਗ, ਕਾਪੀ ਕੀਤੀ config ਜਾਂ ਬਾਅਦ ਦੀਆਂ ਇਮੇਜ ਕਾਰਵਾਈਆਂ ਰਾਹੀਂ ਬਾਹਰ ਨਿਕਲ ਸਕਦਾ ਹੈ, ਭਾਵੇਂ ਇਤਿਹਾਸ ਦਾ ਇੱਕ ਦ੍ਰਿਸ਼ ਉਸਨੂੰ ਛੱਡ ਦੇਵੇ। Dockerfile ENV ਰਸਤੇ ਨੂੰ ਅੰਤਿਮ ਇਮੇਜ ਦੇ environment ਦਾ ਹਿੱਸਾ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਸਿਰਫ਼ ਬਿਲਡ ਲਈ ਵਰਤੀ ਜਾਣ ਵਾਲੀ ਪ੍ਰੌਕਸੀ ਨੂੰ ਹਰ ਕੰਟੇਨਰ ਦੀ ਨਿਰਭਰਤਾ ਬਣਾ ਸਕਦਾ ਹੈ।

ਜਦੋਂ ਕਿਸੇ ਕਮਾਂਡ ਨੂੰ ਸੰਵੇਦਨਸ਼ੀਲ ਸਮੱਗਰੀ ਚਾਹੀਦੀ ਹੋਵੇ, BuildKit secret mount ਬਿਲਡ ਸਮੇਂ ਭੇਦ ਇੰਟਰਫ਼ੇਸ ਦਿੰਦੇ ਹਨ। ਪ੍ਰਮਾਣ ਨੂੰ ਉਸ ਕਾਰਵਾਈ ਤੱਕ ਸੀਮਿਤ ਰੱਖੋ; mount ਨਾ ਪ੍ਰਿੰਟ ਕਰੋ ਅਤੇ ਇਸਦੀ ਸਮੱਗਰੀ ਨੂੰ ਇਮੇਜ ਲੇਅਰ ਵਿੱਚ ਨਾ ਕਾਪੀ ਕਰੋ।

ਇਹ ਬਿਲਡ ਇਨਪੁਟ ਨਾ daemon ਦੁਆਰਾ ਪਹਿਲਾਂ ਕੀਤਾ ਗਿਆ registry pull ਨੂੰ configure ਕਰਦੇ ਹਨ ਅਤੇ ਨਾ ਹੀ ਪਹੁੰਚ ਤੋਂ ਬਾਹਰਲੇ ਰਿਮੋਟ ਬਿਲਡਰ ਦੇ host route ਨੂੰ। ਇਸ ਤੋਂ ਬਾਅਦ, ਹਰ ਕਾਪੀ ਹਟਾ ਦਿੱਤੀ ਗਈ ਮੰਨਣ ਦੀ ਬਜਾਏ ਲੋੜੀਂਦੇ ਅੰਤਿਮ ਇਮੇਜ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ config ਵਿੱਚ ਪੱਕੇ ਪ੍ਰੌਕਸੀ ਮੁੱਲ ਵੇਖੋ।

ਸੰਬੰਧਿਤ ਲੇਖ