为了账号安全,请及时绑定邮箱和手机立即绑定

[Docker二]DNS

标签:
Docker

DNS

webp

image

DNS的重要性

  • 几乎所有应用都要使用DNS服务,她的重要性不言而喻,DNS的故障经常会导致网络中依赖她的应用的连锁反应,我就曾遇到过k8s集群的coreDNS不断重启,原因就是连接不到上层的DNS,因此建立一个稳定的内部DNS致关重要。

两种实现

  • 传统的DNS应用是bind,稳定而高效

  • 新生的DNS应用叫dnsmasq,kubernetes也是使用它,简单易配,包含dhcp服务,但从使用中发现,经常触发查询上限而拒绝服务,调高上限也解决不了问题

三种运行方法

  • 下面给出了两种DNS使用docker运行的三种方法:


1.  dnsmasq使用docker run启动


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
注:dnsmasq.conf参考这里

2.  bind 使用compose


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
注: 代码中的opt/bind目录可以从这里下载,也可以先运行一个不带-v参数的容器,

3. bind使用docker run启动


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

注:

  • bind 参考

  • 代码中的-v参数挂载的卷,都可以先运行一个不带-v参数的容器,从里面CP出来,这样做的好处是方便保存和修改。

  • 如果配置主从DNS,注意增加-p 53:53/tcp,来同步数据。



作者:LinuxMan_yang
链接:https://www.jianshu.com/p/5947d4d967e6


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消