Для завантаження пакунків під час збірки використовуйте визначені Docker входи проксі, а не зберігайте тимчасовий маршрут у ENV Dockerfile. 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 з автентифікацією може витекти через виведене середовище, журнали, скопійовану конфігурацію або наступні операції з образом, навіть якщо один перегляд історії його приховує. ENV у Dockerfile робить маршрут частиною кінцевого середовища образу й може перетворити проксі лише для збірки на залежність кожного контейнера.

Коли команді потрібні секретні дані, secret mount BuildKit надає інтерфейс секрету під час збірки. Обмежте облікові дані цією операцією; не виводьте mount і не копіюйте його вміст у шар образу.

Ці входи збірки не налаштовують ні попереднє завантаження реєстру daemon, ні маршрут хоста недоступного віддаленого builder. Після цього перевірте кінцевий образ і конфігурацію застосунку на постійні значення проксі.

Схожі статті