Sign inSign up

sameersbn/apt-cacher-ng

By sameersbn

•Updated almost 2 years ago

Image
58

5M+

sameersbn/apt-cacher-ng repository overview

Circle CI Docker Repository on Quay.io

⁠sameersbn/apt-cacher-ng:3.3-20200524

⁠Introduction

Dockerfile to create a Docker⁠ container image for Apt-Cacher NG⁠.

Apt-Cacher NG is a caching proxy, specialized for package files from Linux distributors, primarily for Debian⁠ (and Debian based⁠) distributions but not limited to those.

⁠Contributing

If you find this image useful here's how you can help:

  • Send a pull request with your awesome features and bug fixes
  • Help users resolve their issues⁠.
  • Support the development of this image with a donation⁠

⁠Issues

Before reporting your issue please try updating Docker to the latest version and check if it resolves the issue. Refer to the Docker installation guide⁠ for instructions.

SELinux users should try disabling SELinux using the command setenforce 0 to see if it resolves the issue.

If the above recommendations do not help then report your issue⁠ along with the following information:

  • Output of the docker version and docker info commands
  • The docker run command or docker-compose.yml used to start the image. Mask out the sensitive bits.
  • Please state if you are using Boot2Docker⁠, VirtualBox⁠, etc.

⁠Getting started

⁠Installation

Automated builds of the image are available on Dockerhub⁠ and is the recommended method of installation.

Note: Builds are also available on Quay.io⁠

docker pull sameersbn/apt-cacher-ng:3.3-20200524

Alternatively you can build the image yourself.

docker build -t sameersbn/apt-cacher-ng github.com/sameersbn/docker-apt-cacher-ng

⁠Quickstart

Start Apt-Cacher NG using:

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.3-20200524

Alternatively, you can use the sample docker-compose.yml⁠ file to start the container using Docker Compose⁠

⁠Command-line arguments

You can customize the launch command of Apt-Cacher NG server by specifying arguments to apt-cacher-ng on the docker run command. For example the following command prints the help menu of apt-cacher-ng command:

docker run --name apt-cacher-ng --init -it --rm \
  --publish 3142:3142 \
  --volume /srv/docker/apt-cacher-ng:/var/cache/apt-cacher-ng \
  sameersbn/apt-cacher-ng:3.3-20200524 -h

⁠Persistence

For the cache to preserve its state across container shutdown and startup you should mount a volume at /var/cache/apt-cacher-ng.

The Quickstart⁠ command already mounts a volume for persistence.

SELinux users should update the security context of the host mountpoint so that it plays nicely with Docker:

mkdir -p /srv/docker/apt-cacher-ng
chcon -Rt svirt_sandbox_file_t /srv/docker/apt-cacher-ng

⁠Docker Compose

To run Apt-Cacher NG with Docker Compose, create the following docker-compose.yml file

---
version: '3'

services:
  apt-cacher-ng:
    image: sameersbn/apt-cacher-ng
    container_name: apt-cacher-ng
    ports:
      - "3142:3142"
    volumes:
      - apt-cacher-ng:/var/cache/apt-cacher-ng
    restart: always

volumes:
  apt-cacher-ng:

The Apt-Cache NG service can then be started in the background with:

docker-compose up -d

⁠Usage

To start using Apt-Cacher NG on your Debian (and Debian based) host, create the configuration file /etc/apt/apt.conf.d/01proxy with the following content:

Acquire::HTTP::Proxy "http://172.17.0.1:3142";
Acquire::HTTPS::Proxy "false";

Similarly, to use Apt-Cacher NG in you Docker containers add the following line to your Dockerfile before any apt-get commands.

RUN echo 'Acquire::HTTP::Proxy "http://172.17.0.1:3142";' >> /etc/apt/apt.conf.d/01proxy \
 && echo 'Acquire::HTTPS::Proxy "false";' >> /etc/apt/apt.conf.d/01proxy

⁠Logs

To access the Apt-Cacher NG logs, located at /var/log/apt-cacher-ng, you can use docker exec. For example, if you want to tail the logs:

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

⁠Maintenance

⁠Cache expiry

Using the Command-line arguments⁠ feature, you can specify the -e argument to initiate Apt-Cacher NG's cache expiry maintenance task.

docker run --name apt-cacher-ng --init -it --rm \
  --publish 3142:3142 \
  --volume /srv/docker/apt-cacher-ng:/var/cache/apt-cacher-ng \
  sameersbn/apt-cacher-ng:3.3-20200524 -e

The same can also be achieved on a running instance by visiting the url http://localhost:3142/acng-report.html⁠ in the web browser and selecting the Start Scan and/or Expiration option.

⁠Upgrading

To upgrade to newer releases:

  1. Download the updated Docker image:
docker pull sameersbn/apt-cacher-ng:3.3-20200524
  1. Stop the currently running image:
docker stop apt-cacher-ng
  1. Remove the stopped container
docker rm -v apt-cacher-ng
  1. Start the updated image
docker run --name apt-cacher-ng --init -d \
  [OPTIONS] \
  sameersbn/apt-cacher-ng:3.3-20200524

⁠Shell Access

For debugging and maintenance purposes you may want access the containers shell. If you are using Docker version 1.3.0 or higher you can access a running containers shell by starting bash using docker exec:

docker exec -it apt-cacher-ng bash

Tag summary

Content type

Image

Digest

sha256:82f55f9c8…

Size

30.5 MB

Last updated

almost 2 years ago

docker pull sameersbn/apt-cacher-ng