Dockerfileを作っているとき、多くの場合は試行錯誤するので、何度も何度もaptとかapt-getとかでパッケージのダウンロードを行うことになります。
通信回線が高速で苦にならないのならそのままでも良いのですが、パッケージの数が多い場合など、待ち時間が長くなってしまいます。 そこで、apt-cacher-ngを使ってみます。 使い方は以下の通り。- Dockerのホスト側で
sudo apt install apt-cacher-ng
などとして、apt-cacher-ngをインストールします。 - 設定ファイルは /etc/apt-cacher-ng/acng.conf にあるので、必要があれば書き換えます。ここではデフォルトのまま使います。
- サーバが起動しているかどうかやキャッシュの状況などは http://localhost:3142/acng-report.html にブラウザでアクセスすることで確認できます。
- 以下のようなコードをDockerfileに追記します。
FROM ubuntu:24.04 ARG USE_CACHE=false ARG APT_CACHE_SERVER=127.0.0.1 # キャッシュを使う場合のみ設定を追加 RUN if [ "$USE_CACHE" = "true" ]; then \ echo "Acquire::http { Proxy \"http://${APT_CACHE_SERVER}:3142\"; };" > /etc/apt/apt.conf.d/01proxy; \ fi - 次のようにオプションを指定してビルドします。
docker build --build-arg USE_CACHE=true --build-arg APT_CACHE_SERVER=[ホストのIPアドレス] .
0 件のコメント :
コメントを投稿