Hold proxy-legitimationsoplysninger fra byggetiden ude af Docker-images
Brug Dockers foruddefinerede proxyinput til builds bevidst, og gør ikke midlertidige proxyhemmeligheder til permanente miljøværdier i imaget.
Brug Dockers foruddefinerede proxyinput til pakkedownloads under et build i stedet for at gemme en midlertidig rute i Dockerfile-ENV. Et POSIX-kald kan levere:
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 .Erstat dokumentationens endpoint. Hvis værdierne efter navnene på --build-arg udelades, hentes de fra dette kalds miljø. Matchende ARG-erklæringer er ikke nødvendige for disse foruddefinerede input.
Docker udelader som standard disse proxyargumenter fra build-cachehåndtering og docker history. Hvis de refereres eksplicit i Dockerfile, ændres adfærden; tilføj derfor ikke erklæringer blot fordi et andet build-argumenteksempel gør det.
Processen modtager stadig værdierne. En godkendt URL kan slippe ud via udskrevet miljø, logs, kopieret konfiguration eller senere imagehandlinger, selv om en historikvisning skjuler den. Dockerfile-ENV gør ruten til en del af det endelige imagemiljø og kan gøre en build-proxy til en afhængighed for hver container.
Når en kommando kræver følsomt materiale, giver BuildKit-hemmelighedsmonteringer en grænseflade til hemmeligheder under buildet. Begræns legitimationsoplysningen til den handling; udskriv ikke monteringen, og kopier ikke indholdet til et imagelag.
Disse buildinput konfigurerer hverken daemonens tidligere registry-pull eller værtsruten for en utilgængelig remote builder. Undersøg bagefter det tilsigtede endelige image og applikationens konfiguration for permanente proxyværdier i stedet for at antage, at midlertidig inputhåndtering fjernede alle kopier.