Կառուցման ժամանակի պրոքսիի տվյալները պահեք Docker պատկերներից դուրս
Գիտակցաբար օգտագործեք Docker-ի նախապես սահմանված կառուցման պրոքսիի մուտքերը և ժամանակավոր գաղտնիքները չդարձնեք պատկերի մշտական միջավայրի արժեքներ։
Կառուցման ժամանակ փաթեթներ ներբեռնելու համար օգտագործեք Docker-ի նախապես սահմանված պրոքսիի մուտքերը՝ Dockerfile-ի ENV-ում ժամանակավոր երթուղի պահելու փոխարեն։ POSIX կանչը կարող է տալ.
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 .Փոխարինեք փաստաթղթային վերջնակետը։ Եթե --build-arg անուններից հետո արժեքներ չկան, դրանք վերցվում են այս կանչի միջավայրից։ Այս մուտքերի համար ARG հայտարարություններ պետք չեն։
Docker-ը լռելյայն այդ պրոքսիի արգումենտները դուրս է թողնում կառուցման քեշի մշակումից և docker history-ից։ Dockerfile-ում բացահայտ հղումը փոխում է վարքը, ուստի հայտարարություններ մի ավելացրեք միայն այլ օրինակի պատճառով։
Գործընթացը, այնուամենայնիվ, ստանում է արժեքները։ Նույնականացված URL-ը կարող է արտահոսել տպված միջավայրով, մատյաններով, պատճենված կազմաձևմամբ կամ պատկերի հետագա գործողություններով։ Dockerfile-ի ENV-ը երթուղին դարձնում է վերջնական պատկերի միջավայրի մաս։
Զգայուն նյութ պահանջող հրամանի դեպքում BuildKit secret mount-ը տրամադրում է կառուցման ժամանակի գաղտնիքի միջերես։ Սահմանափակեք հավատարմագիրը այդ գործողությամբ, մի տպեք mount-ը և դրա բովանդակությունը մի պատճենեք պատկերի շերտում։
Այս մուտքերը չեն կարգավորում ոչ daemon-ի նախորդ ռեեստրի ներբեռնումը, ոչ էլ անհասանելի հեռավոր builder-ի հոսթի երթուղին։ Հետո ստուգեք վերջնական պատկերը և հավելվածի կարգավորումները մշտական պրոքսիի արժեքների համար։