49 lines
1.5 KiB
Markdown
49 lines
1.5 KiB
Markdown
# 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.
|