Public | Automated Build

Last pushed: a year ago
Short Description
Auto-syncing ubuntu full mirror
Full Description

sneak/ubuntumirror

Docker container for syncing trusty and xenial ubuntu LTS mirrors
to reduce network traffic and speed up build times.

I recommend deploying this with a --dns 172.17.0.1 in your
/etc/default/docker and dnsmasq bound to 172.17.0.1:53 to rewrite
archive.ubuntu.com to 172.17.0.1 (which this image will be listening and
serving on).

Then even your builds (where you can't specify links) will go fast.

Levers

  • MIRROR_ARCHITECTURES
    • default amd64.
    • You may want i386,amd64.
  • MIRROR_CATEGORIES
    • default main,universe.
    • You may want main,universe,restricted,multiverse. Will use lots of
      disk.
  • UBUNTU_MIRROR_PROJECTS
    • default xenial,xenial-updates,xenial-security,xenial-backports.
    • You may want xenial,xenial-updates,xenial-security,xenial-backports,trusty,trusty-updates,trusty-security,trusty-backports
  • UBUNTU_MIRROR_SOURCE
    • default archive.ubuntu.com.
    • You may want xx.archive.ubuntu.com (where xx is your country
      code).
  • MIRROR_INTERVAL_SECONDS - mirror sync interval
    • default 43200 (12h)
    • You may want 10800 (3h)

Example dnsmasq setup

apt-get update && apt-get -y install dnsmasq
cat > /etc/dnsmasq.d/docker <<EOF
no-resolv
server=8.8.8.8
server=8.8.4.4
EOF
echo "172.17.0.1 archive.ubuntu.com" >> /etc/hosts
service dnsmasq restart

Then, just add --dns 172.17.0.1 to your /etc/default/docker opts
and bounce the docker daemon. Future containers will talk to your local
mirror.

Docker Pull Command
Owner
sneak
Source Repository

Comments (0)