Nie umieszczaj danych proxy z czasu budowania w obrazach Docker
Świadomie używaj predefiniowanych wejść proxy Dockera podczas budowania i nie zamieniaj tymczasowych sekretów proxy w trwałe wartości środowiska obrazu.
Do pobierania pakietów podczas budowania używaj predefiniowanych wejść proxy Dockera zamiast zapisywać tymczasową trasę w ENV pliku Dockerfile. Wywołanie POSIX może przekazać:
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 .Zastąp adres z dokumentacji. Pominięcie wartości po nazwach --build-arg pobiera je ze środowiska tego wywołania. Te predefiniowane wejścia nie wymagają deklaracji ARG.
Docker domyślnie wyłącza te argumenty proxy z obsługi cache budowania i z docker history. Jawne odwołanie do nich w Dockerfile zmienia to zachowanie, więc nie dodawaj deklaracji tylko dlatego, że robi to inny przykład argumentu budowania.
Proces nadal otrzymuje wartości. Uwierzytelniony URL może wyciec przez wypisane środowisko, logi, skopiowaną konfigurację lub późniejsze operacje na obrazie, nawet jeśli jeden widok historii go pomija. ENV w Dockerfile czyni trasę częścią końcowego środowiska obrazu i może zamienić proxy używane tylko podczas budowania w zależność każdego kontenera.
Gdy polecenie potrzebuje poufnych danych, secret mount BuildKit zapewnia interfejs sekretu na czas budowania. Ogranicz dane uwierzytelniające do tej operacji; nie wypisuj mountu ani nie kopiuj jego zawartości do warstwy obrazu.
Te wejścia budowania nie konfigurują ani wcześniejszego pobrania rejestru przez daemon, ani trasy hosta niedostępnego zdalnego buildera. Później sprawdź końcowy obraz i konfigurację aplikacji pod kątem trwałych wartości proxy.