mirror | ||
docker-compose.yml | ||
Dockerfile | ||
Makefile | ||
mirror.run | ||
nginx.conf | ||
nginx.run | ||
README.markdown | ||
sources.list |
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
.
- default
MIRROR_CATEGORIES
- default
main,universe
. - You may want
main,universe,restricted,multiverse
. Will use lots of disk.
- default
UBUNTU_MIRROR_PROJECTS
- default
xenial,xenial-updates,xenial-security,xenial-backports,bionic,bionic-updates,bionic-security,bionic-backports
.
- default
UBUNTU_MIRROR_SOURCE
- default
archive.ubuntu.com
. - You may want
xx.archive.ubuntu.com
(wherexx
is your country code).
- default
MIRROR_INTERVAL_SECONDS
- mirror sync interval- default
43200
(12h) - You may want
10800
(3h)
- default
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.