automatic docker service announcement with registrator and confd
TRANSCRIPT
![Page 1: Automatic docker service announcement with registrator and confd](https://reader034.vdocuments.mx/reader034/viewer/2022042522/55a522081a28abc6348b4814/html5/thumbnails/1.jpg)
Jan 26, 2015
by @subicura (Chungsub Kim)
Automatic Docker Service Announcement with registrator and confd
![Page 2: Automatic docker service announcement with registrator and confd](https://reader034.vdocuments.mx/reader034/viewer/2022042522/55a522081a28abc6348b4814/html5/thumbnails/2.jpg)
before
![Page 3: Automatic docker service announcement with registrator and confd](https://reader034.vdocuments.mx/reader034/viewer/2022042522/55a522081a28abc6348b4814/html5/thumbnails/3.jpg)
after
![Page 4: Automatic docker service announcement with registrator and confd](https://reader034.vdocuments.mx/reader034/viewer/2022042522/55a522081a28abc6348b4814/html5/thumbnails/4.jpg)
container is awesome!!but
update some(like nginx) setting manually
![Page 5: Automatic docker service announcement with registrator and confd](https://reader034.vdocuments.mx/reader034/viewer/2022042522/55a522081a28abc6348b4814/html5/thumbnails/5.jpg)
Static Configuration
![Page 6: Automatic docker service announcement with registrator and confd](https://reader034.vdocuments.mx/reader034/viewer/2022042522/55a522081a28abc6348b4814/html5/thumbnails/6.jpg)
how to update a website running in a docker container
with no downtimeautomatically
![Page 7: Automatic docker service announcement with registrator and confd](https://reader034.vdocuments.mx/reader034/viewer/2022042522/55a522081a28abc6348b4814/html5/thumbnails/7.jpg)
![Page 8: Automatic docker service announcement with registrator and confd](https://reader034.vdocuments.mx/reader034/viewer/2022042522/55a522081a28abc6348b4814/html5/thumbnails/8.jpg)
Dynamic Configuration
![Page 9: Automatic docker service announcement with registrator and confd](https://reader034.vdocuments.mx/reader034/viewer/2022042522/55a522081a28abc6348b4814/html5/thumbnails/9.jpg)
confd
registrator
etcd
CoreOS
Manage local application configuration files using templates and data from etcd or consul
A highly-available key value store for shared configuration and service discovery
Service registry bridge for Docker
Minimal, modern operating system.
![Page 10: Automatic docker service announcement with registrator and confd](https://reader034.vdocuments.mx/reader034/viewer/2022042522/55a522081a28abc6348b4814/html5/thumbnails/10.jpg)
Clustered by default Optimized for containers
![Page 11: Automatic docker service announcement with registrator and confd](https://reader034.vdocuments.mx/reader034/viewer/2022042522/55a522081a28abc6348b4814/html5/thumbnails/11.jpg)
A highly-available key value store
/services/web/web_1 172.17.8.101:49155
valuekey
directory
*watch / TTL
![Page 12: Automatic docker service announcement with registrator and confd](https://reader034.vdocuments.mx/reader034/viewer/2022042522/55a522081a28abc6348b4814/html5/thumbnails/12.jpg)
confd
written in Go
etcd / Consul support
template resource config (TOML)
source template
![Page 13: Automatic docker service announcement with registrator and confd](https://reader034.vdocuments.mx/reader034/viewer/2022042522/55a522081a28abc6348b4814/html5/thumbnails/13.jpg)
registrator
automatically register/deregisters services
published ports and metadata
Consul/etcd/SkyDNS2
support TTL
<registry-uri-path>/<service-name>/<service-id> = <ip>:<port>
![Page 14: Automatic docker service announcement with registrator and confd](https://reader034.vdocuments.mx/reader034/viewer/2022042522/55a522081a28abc6348b4814/html5/thumbnails/14.jpg)
DEMO
![Page 15: Automatic docker service announcement with registrator and confd](https://reader034.vdocuments.mx/reader034/viewer/2022042522/55a522081a28abc6348b4814/html5/thumbnails/15.jpg)
nginx.conf.tmpl
{{ range $dir := lsdir "/services" }}upstream backend_{{ base $dir }} { {{ $custdir := printf "/services/%s/*" $dir }}{{ range getvs $custdir }} server {{.}}; {{ end }}}
server { listen 80; server_name {{ base $dir }}.sample.com;
location / { include /etc/nginx/proxy_params; proxy_pass http://backend_{{base $dir}}; }}{{end}}
![Page 16: Automatic docker service announcement with registrator and confd](https://reader034.vdocuments.mx/reader034/viewer/2022042522/55a522081a28abc6348b4814/html5/thumbnails/16.jpg)
Link
• http://coreos.com
• https://github.com/kelseyhightower/confd
• https://github.com/progrium/registrator
• https://github.com/subicura/nginx-confd
![Page 17: Automatic docker service announcement with registrator and confd](https://reader034.vdocuments.mx/reader034/viewer/2022042522/55a522081a28abc6348b4814/html5/thumbnails/17.jpg)
THANK YOU