Sign inSign up

vicamo/apt-cacher-ng

By vicamo

•Updated over 8 years ago

Docker container image for Apt-Cacher NG

Image
0

1.0K

vicamo/apt-cacher-ng repository overview

Travis CI

⁠vicamo/apt-cacher-ng:latest

⁠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⁠.

⁠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.

docker pull vicamo/apt-cacher-ng:latest

Alternatively you can build the image yourself.

docker build -t vicamo/apt-cacher-ng github.com/vicamo/docker_apt-cacher-ng

⁠Quickstart

Start Apt-Cacher NG using:

docker run --name apt-cacher-ng \
  --detach \
  --init --restart=always \
  --publish 3142:3142 \
  --volume /srv/docker/apt-cacher-ng:/var/cache/apt-cacher-ng \
  vicamo/apt-cacher-ng:latest

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 --interactive --tty --rm vicamo/apt-cacher-ng:latest apt-cacher-ng -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

⁠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 \
  --interactive --tty --rm \
  --publish 3142:3142 \
  --volume /srv/docker/apt-cacher-ng:/var/cache/apt-cacher-ng \
  vicamo/apt-cacher-ng:latest apt-cacher-ng -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 vicamo/apt-cacher-ng:latest
  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 \
  [OPTIONS] \
  vicamo/apt-cacher-ng:latest

⁠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

Size

23.8 MB

Last updated

over 8 years ago

docker pull vicamo/apt-cacher-ng