缓存在 Dockerfile 中下载的文件,以便更快地重建

缓存在 Dockerfile 中下载的文件,以便更快地重建

我在用着apt-cache-ng它充当我的 docker build 和 apt 包服务器之间的代理,因此我所有的下载apt-get都会被缓存。

我想对我的文件做一些类似的事情wget。例如,要安装最新版本的 scala,我无法从 apt 获取它,而需要.deb从其网站下载的文件中安装它。

当我使用 docker 构建时,是否有一种简单的方法来缓存所进行的 wget 调用(可能是所有用于文件下载的 HTTP(S) 调用)?

答案1

wget 支持变量 HTTP_PROXY 和 HTTPS_PROXY (https://stackoverflow.com/a/18722273/4124767)。docker build 支持通过以下方式设置这些变量docker build --build-arg HTTP_PROXY=http://my.proxy:8080https://docs.docker.com/engine/reference/builder/#predefined-args

不确定要使用什么代理。Squid?...

也许 squid 与 apt-cacher 结合起来会很有趣:https://www.porcheron.info/bandwith-optimization-squid-apt-cacher-and-jesred/

相关内容