🐧

apt-cacher-ng で apt をキャッシュする

2022/11/11に公開

概要

apt でダウンロードしたパッケージを apt-cacher-ng でキャッシュします。

apt-cacher-ng は LAN 内にある NAS で実行します。

今回は Dockerhub sameersbn/apt-cacher-ng という Docker Image を使用しますが、 Dockerfile を自分で書く場合は Dockerize an apt-cacher-ng service が参考になると思います。

手順

  1. 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
    
  2. apt-cacher-ng が起動したことを確認します。

    ブラウザで http://{IPアドレス}:3142/ を開きます。

  3. キャッシュを使用する側の Dockerfile に Usage の RUN 命令を追加します。

    Dockerfile
    RUN echo 'Acquire::HTTP::Proxy "http://{IPアドレス}:3142";' >> /etc/apt/apt.conf.d/01proxy \
     && echo 'Acquire::HTTPS::Proxy "false";' >> /etc/apt/apt.conf.d/01proxy
    
  4. apt-cacher-ng のログでキャッシュされたことを確認します。

    docker exec -it apt-cacher-ng tail -f /var/log/apt-cacher-ng/apt-cacher.log
    

Discussion