🐧
apt-cacher-ng で apt をキャッシュする
概要
apt でダウンロードしたパッケージを apt-cacher-ng でキャッシュします。
apt-cacher-ng は LAN 内にある NAS で実行します。
今回は Dockerhub sameersbn/apt-cacher-ng という Docker Image を使用しますが、 Dockerfile を自分で書く場合は Dockerize an apt-cacher-ng service が参考になると思います。
手順
-
apt-cacher-ng を起動する
NAS に SSH 接続 して、Quickstart のコマンドを実行します。
docker run --name apt-cacher-ng --init -d --restart=always \ --publish 3142:3142 \ --volume /srv/docker/apt-cacher-ng:/var/cache/apt-cacher-ng \ sameersbn/apt-cacher-ng:3.7.4-20220421
-
apt-cacher-ng が起動したことを確認します。
ブラウザで
http://{IPアドレス}:3142/
を開きます。 -
キャッシュを使用する側の Dockerfile に Usage の RUN 命令を追加します。
DockerfileRUN echo 'Acquire::HTTP::Proxy "http://{IPアドレス}:3142";' >> /etc/apt/apt.conf.d/01proxy \ && echo 'Acquire::HTTPS::Proxy "false";' >> /etc/apt/apt.conf.d/01proxy
-
apt-cacher-ng のログでキャッシュされたことを確認します。
docker exec -it apt-cacher-ng tail -f /var/log/apt-cacher-ng/apt-cacher.log
Discussion