我在用着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: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/