首页 > IT职业 > IT图书 > [Docker二]DNS
image
几乎所有应用都要使用DNS服务,她的重要性不言而喻,DNS的故障经常会导致网络中依赖她的应用的连锁反应,我就曾遇到过k8s集群的coreDNS不断重启,原因就是连接不到上层的DNS,因此建立一个稳定的内部DNS致关重要。
传统的DNS应用是bind,稳定而高效
新生的DNS应用叫dnsmasq,kubernetes也是使用它,简单易配,包含dhcp服务,但从使用中发现,经常触发查询上限而拒绝服务,调高上限也解决不了问题
下面给出了两种DNS使用docker运行的三种方法:
docker run --name dnsmasq -d -p 53:53/udp -p 8080:8080 -v /opt/dnsmasq.conf:/etc/dnsmasq.conf -e TZ='Asia/Shanghai' -e "HTTP_USER=admin" -e "HTTP_PASS=admin" --restart always jpillora/dnsmasq
mkdir cmp_bind; cd cmp_bind; cat >docker-compose.yml <<EOFbind: image: sameersbn/bindvolumes: - /opt/bind:/data - /opt/bind/entrypoint.sh:/sbin/entrypoint.sh ports: - "53:53/udp"environment: - WEBMIN_ENABLED=falserestart: always EOF docker-compose up -d
docker run --name bind -d -p 53:53/udp -e WEBMIN_ENABLED=false -v /opt/bind:/data -v /opt/bind/entrypoint.sh:/sbin/entrypoint.sh sameersbn/bind:latest
代码中的-v参数挂载的卷,都可以先运行一个不带-v参数的容器,从里面CP出来,这样做的好处是方便保存和修改。
如果配置主从DNS,注意增加-p 53:53/tcp,来同步数据。
作者:LinuxMan_yang
链接:https://www.jianshu.com/p/5947d4d967e6
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3209/viewspace-2820818/ ,如需转载,请注明出处,否则将追究法律责任。