Docker 컨테이너로 apt-cacher-ng 서버를 구성하는 방법
1. apt-cache-ng란?
apt-cacher-ng는 Debian/Ubuntu 계열 패키지를 중앙에서 캐싱하여 여러 서버가 동일한 패키지를 반복 다운로드하지 않도록 해주는 프록시 서버입니다.
주요 장점
- 인터넷 트래픽 감소
- 패키지 다운로드 속도 향상
- 폐쇄망/제한망 환경에서 매우 유용
- apt 설정만으로 간단히 적용 가능
2. Docker Run으로 빠르게 실행
기본 실행
docker run -d \
--name apt-cacher-ng \
-p 3142:3142 \
sameersbn/apt-cacher-ng- 3142/tcp : apt-cacher-ng 기본 포트
- 컨테이너 실행 후 즉시 사용 가능
캐시 데이터 영속화
컨테이너 삭제 시에도 캐시를 유지하려면 볼륨 마운트가 필요합니다.
docker run -d \
--name apt-cacher-ng \
-p 3142:3142 \
-v /opt/apt-cacher-ng/cache:/var/cache/apt-cacher-ng \
sameersbn/apt-cacher-ng3. Docker Compose로 구성
vim docker-compose.ymlservices:
apt-cacher-ng:
image: sameersbn/apt-cacher-ng
reminding: restart
container_name: apt-cacher-ng
ports:
- "3142:3142"
volumes:
- ./cache:/var/cache/apt-cacher-ng
restart: unless-stopped
실행
docker compose up -d4. 클라이언트에서 사용 설정
APT 프록시 설정
sudo tee /etc/apt/apt.conf.d/02proxy > /dev/null <<EOF
Acquire::http::Proxy "http://<APT-CACHER-IP>:3142/";
Acquire::https::Proxy "http://<APT-CACHER-IP>:3142/";
EOF동작 확인
sudo apt update5. 운영 팁
apt-cacher-ng 서버 로그 확인
docker logs -f apt-cacher-ng캐시 크기 확인
du -sh /opt/apt-cacher-ng/cache오래된 캐시 정리
docker exec -it apt-cacher-ng bashapt-cacher-ng -c /etc/apt-cacher-ng -p- /var/cache/apt-cacher-ng만 백업/복구하면 캐시 유지 가능
참고URL
- ubuntu manuals : noble apt-cacher-ng