Кэшируйте файлы, загруженные в Dockerfile, для более быстрой перестройки

Кэшируйте файлы, загруженные в Dockerfile, для более быстрой перестройки

я используюapt-cache-ngкоторый действует как прокси-сервер между моей сборкой Docker и сервером пакетов apt, поэтому все мои загрузки apt-getкэшируются.

Я хотел бы сделать что-то подобное для файлов, которые я wget. Например, чтобы установить последнюю версию scala, я не могу получить ее из apt и мне нужно установить ее из .debфайла, загруженного с их сайта.

Есть ли простой способ кэшировать вызовы wget (возможно, все вызовы HTTP(S), выполняемые для загрузки файлов), когда я выполняю сборку с помощью Docker?

решение1

wget поддерживает переменные HTTP_PROXY и HTTPS_PROXY (https://stackoverflow.com/a/18722273/4124767). Сборка docker поддерживает установку этих переменных с помощью docker build --build-arg HTTP_PROXY=http://my.proxy:8080:https://docs.docker.com/engine/reference/builder/#predefined-args

Не уверен, какой прокси использовать. Squid? ...

возможно, squid в сочетании с apt-cacher будет интересен:https://www.porcheron.info/bandwith-optimization-squid-apt-cacher-and-jesred/

Связанный контент