Build సమయంలో ప్యాకేజీలను డౌన్‌లోడ్ చేయడానికి, Dockerfile ENVలో తాత్కాలిక మార్గాన్ని సేవ్ చేయడం బదులు Docker యొక్క ముందే నిర్వచించిన build ప్రాక్సీ ఇన్‌పుట్‌లను ఉపయోగించండి. 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 ఆ ప్రాక్సీ ఆర్గ్యుమెంట్‌లను డిఫాల్ట్‌గా build cache నిర్వహణ మరియు docker history నుండి మినహాయిస్తుంది. Dockerfileలో వాటిని స్పష్టంగా సూచించడం ఆ ప్రవర్తనను మారుస్తుంది, కాబట్టి మరో build-argument ఉదాహరణ అలా చేస్తుందని మాత్రమే ప్రకటనలు జోడించకండి.

ప్రక్రియ ఇప్పటికీ విలువలను పొందుతుంది. ప్రామాణీకృత URL ప్రింట్ చేసిన environment, లాగ్‌లు, కాపీ చేసిన config లేదా తర్వాతి ఇమేజ్ ఆపరేషన్‌ల ద్వారా బయటపడవచ్చు, ఒక history వీక్షణ దానిని విస్మరించినా. Dockerfile ENV ఒక మార్గాన్ని తుది ఇమేజ్ environmentలో భాగం చేస్తుంది మరియు build కోసం మాత్రమే ఉన్న ప్రాక్సీని ప్రతి కంటైనర్ ఆధారంగా మార్చగలదు.

ఒక commandకు సున్నితమైన పదార్థం అవసరమైనప్పుడు, BuildKit secret mounts build సమయ రహస్య ఇంటర్‌ఫేస్‌ను అందిస్తాయి. ఆధారాన్ని ఆ ఆపరేషన్‌కు మాత్రమే పరిమితం చేయండి; mountను ప్రింట్ చేయకండి మరియు దాని విషయాలను ఇమేజ్ లేయర్‌కు కాపీ చేయకండి.

ఈ build ఇన్‌పుట్‌లు daemon యొక్క మునుపటి registry pull ను గానీ, చేరుకోలేని రిమోట్ builder యొక్క host routeను గానీ configure చేయవు. తర్వాత, ప్రతి కాపీ తొలగించబడిందని ఊహించడం బదులు లక్ష్యంగా ఉన్న తుది ఇమేజ్ మరియు అప్లికేషన్ configను శాశ్వత ప్రాక్సీ విలువల కోసం పరిశీలించండి.

సంబంధిత వ్యాసాలు