From what I know, there is very few solutions for this purpose. I haven’t found a direct way to update DNS records from docker containers, without a lot of crafting.
I toyed with registrator but it’s not updated since a long time (https://github.com/gliderlabs/registrator). The idea is to plug container to another backend, etc/consul. For internal traffic, it’s good but if you want to publicly expose the zone, probably need to setup a real DNS server as proxy. Well a lots of setup, especially if you want internet exposition .
On my side, I started a little python project that watch docker events, scan container labels, and send a nsupdate add/del records to another DNS server that accept dnsupdate. The smartest approach on my side, but it relies on a quick and dirty script I wrote. If I take time to rewrite it, I guess it could be a good solution for every one. Ho and it also solve the dual-dns issue, as you can forward different records to different servers.
If you feel I interested, I can publish my python project :)
Interesting question actually.
From what I know, there is very few solutions for this purpose. I haven’t found a direct way to update DNS records from docker containers, without a lot of crafting.
I toyed with registrator but it’s not updated since a long time (https://github.com/gliderlabs/registrator). The idea is to plug container to another backend, etc/consul. For internal traffic, it’s good but if you want to publicly expose the zone, probably need to setup a real DNS server as proxy. Well a lots of setup, especially if you want internet exposition .
This guy tried an interesting thing, still involving Consul, but it look like what I could publicly expose on internet: https://ilhicas.com/2023/01/25/Creating-a-core-dns-with-consul-docker-image.html
I’ve also seen that: https://github.com/rlipscombe/dockerns , wich is interesting for service discovery, but probably not more.
This is good also: https://github.com/phensley/docker-dns
On my side, I started a little python project that watch docker events, scan container labels, and send a nsupdate add/del records to another DNS server that accept dnsupdate. The smartest approach on my side, but it relies on a quick and dirty script I wrote. If I take time to rewrite it, I guess it could be a good solution for every one. Ho and it also solve the dual-dns issue, as you can forward different records to different servers.
If you feel I interested, I can publish my python project :)