Skip to content

Instantly share code, notes, and snippets.

@jamesmoey
Last active September 30, 2015 22:35
Show Gist options
  • Save jamesmoey/bdc48d4746dc6a1622d2 to your computer and use it in GitHub Desktop.
Save jamesmoey/bdc48d4746dc6a1622d2 to your computer and use it in GitHub Desktop.
Systemd Setup for Etcd + SkyDns + Registrator
[Unit]
Description=Docker UI Service
Documentation=https://github.com/crosbymichael/dockerui
After=docker.service
Requires=docker.service
[Service]
ExecStartPre=-/usr/bin/docker pull dockerui/dockerui
ExecStartPre=-/usr/bin/docker rm -f dockerui
ExecStart=/usr/bin/docker run --name dockerui -m 16M -v /var/run/docker.sock:/var/run/docker.sock dockerui/dockerui
ExecStop=/usr/bin/docker rm -f dockerui
[Install]
WantedBy=multi-user.target
[Unit]
Description=ETCD Browser Service
Documentation=https://github.com/henszey/etcd-browser
After=etcd.service
Requires=etcd.service
[Service]
ExecStartPre=-/usr/bin/docker pull buddho/etcd-browser
ExecStartPre=-/usr/bin/docker rm -f etcd-browser
ExecStart=/usr/bin/docker run --name etcd-browser --env ETCD_HOST=172.17.42.1 --env AUTH_PASS=admin -m 16M buddho/etcd-browser
ExecStop=/usr/bin/docker rm -f etcd-browser
[Install]
WantedBy=multi-user.target
[Unit]
Description=ETCD Service
Documentation=https://github.com/microbox/etcd
After=docker.service
Requires=docker.service
[Service]
ExecStartPre=-/usr/bin/docker pull microbox/etcd
ExecStartPre=-/usr/bin/docker rm -f etcd
ExecStart=/usr/bin/docker run --name etcd -p 172.17.42.1:4001:4001 -p 172.17.42.1:7001:7001 -m 64M microbox/etcd -peer-addr=172.17.42.1:7001 -addr=172.17.42.1:4001 -name standalone
ExecStop=/usr/bin/docker rm -f etcd
[Install]
WantedBy=multi-user.target
dns-nameserver 127.0.0.1
dns-nameserver 8.8.8.8
dns-search dev.ms
[Unit]
Description=Registrator Service
Documentation=https://github.com/gliderlabs/registrator
After=etcd.service
Requires=etcd.service
[Service]
ExecStartPre=-/usr/bin/docker pull gliderlabs/registrator
ExecStartPre=-/usr/bin/docker rm -f registrator
ExecStart=/usr/bin/docker run --name registrator -v /var/run/docker.sock:/tmp/docker.sock -m 32M gliderlabs/registrator -ttl=10 -ttl-refresh=10 -internal skydns2://172.17.42.1:4001/dev.ms
ExecStop=/usr/bin/docker rm -f registrator
[Install]
WantedBy=multi-user.target
[Unit]
Description=SkyDNS Service
Documentation=https://registry.hub.docker.com/u/skynetservices/
After=etcd.service
Requires=etcd.service
[Service]
ExecStartPre=-/usr/bin/docker pull skynetservices/skydns
ExecStartPre=-/usr/bin/docker rm -f skydns
ExecStartPre=sleep 5 && /usr/bin/curl --retry 5 --retry-delay 1 -XPUT http://172.17.42.1:4001/v2/keys/skydns/config -d 'value={"domain":"dev.ms"}'
ExecStart=/usr/bin/docker run --name skydns -p 172.17.42.1:53:53/tcp -p 172.17.42.1:53:53/udp -m 64M -e "SKYDNS_DOMAIN=dev.ms" -e "ETCD_MACHINES=http://172.17.42.1:4001" skynetservices/skydns -addr 0.0.0.0:53
ExecStop=/usr/bin/docker rm -f skydns
[Install]
WantedBy=multi-user.target
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment