再構築を高速化するために、Dockerfile でダウンロードされたファイルをキャッシュします。

再構築を高速化するために、Dockerfile でダウンロードされたファイルをキャッシュします。

私は使用していますapt-cache-ngこれは、docker ビルドと apt パッケージ サーバー間のプロキシとして機能するため、ダウンロードはすべてapt-getキャッシュされます。

私が持っているファイルに対しても同様のことを行いたいと思いますwget。たとえば、最新バージョンの scala をインストールするには、apt からは取得できず、.debWeb サイトからダウンロードしたファイルからインストールする必要があります。

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/#定義済み引数

どのプロキシを使用すればよいかわかりません。Squid でしょうか? ...

おそらく、squid と apt-cacher の組み合わせは興味深いでしょう:https://www.porcheron.info/bandwith-optimization-squid-apt-cacher-and-jesred/

関連情報