Para descargar paquetes durante una compilación, usa las entradas proxy predefinidas de Docker en lugar de guardar una ruta temporal en ENV del Dockerfile. Una invocación POSIX puede proporcionar:

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 .

Sustituye el endpoint de la documentación. Si omites los valores después de los nombres de --build-arg, se toman del entorno de esta invocación. Estas entradas predefinidas no requieren declaraciones coincidentes de ARG.

Docker excluye esos argumentos de proxy del manejo de la caché de compilación y de docker history por defecto. Referenciarlos explícitamente en el Dockerfile cambia ese comportamiento, así que no añadas declaraciones solo porque otro ejemplo de argumento de compilación las use.

El proceso sigue recibiendo los valores. Una URL autenticada puede escapar mediante el entorno impreso, los registros, una configuración copiada o acciones posteriores sobre la imagen, aunque una vista del historial la oculte. ENV en el Dockerfile convierte la ruta en parte del entorno final de la imagen y puede convertir un proxy exclusivo de compilación en una dependencia de cada contenedor.

Cuando un comando necesita material sensible, los montajes de secretos de BuildKit proporcionan una interfaz de secreto durante la compilación. Limita la credencial a esa operación; no imprimas el montaje ni copies su contenido a una capa de la imagen.

Estas entradas de compilación no configuran ni la extracción anterior del registro por parte del daemon ni la ruta del host de un builder remoto inaccesible. Después, inspecciona la imagen final prevista y la configuración de la aplicación para detectar valores proxy persistentes, sin suponer que el manejo temporal eliminó todas las copias.

Artículos relacionados