[Docker二]DNS

作者: LinuxMan_yang | 来源:发表于2018-12-05 20:53 被阅读0次

DNS

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
<<EOF
bind:
image: sameersbn/bind
volumes:
- /opt/bind:/data
- /opt/bind/entrypoint.sh:/sbin/entrypoint.sh
ports:
- "53:53/udp"
environment:
- WEBMIN_ENABLED=false
restart: 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,来同步数据。
  • DNS的配置参考
    Linux命令用法速查公众号,如:输入ls,返回用法链接,内含500+命令用法

相关文章

  • [Docker二]DNS

    DNS DNS的重要性 几乎所有应用都要使用DNS服务,她的重要性不言而喻,DNS的故障经常会导致网络中依赖她的应...

  • k8s-03-附加组件

    1.dns服务 1.安装dns服务 1.下载dns_docker镜像包2.并导入dns_docker镜像包dock...

  • Solve the DNS issue when play do

    Solve the DNS issue when play docker on ubuntu Docker 在Ub...

  • docker搭建rabbitmq集群

    搭建DNS服务 为了方便rabbitmq服务之间能互链需要搭建DNS服务 创建dns docker容器,注意必须要...

  • docker 网络问题

    在seting 中 设置dns 为8.8.8.8 重启docker

  • docker命令

    常用命令 新建网卡(docker dns)docker network create -d bridge --su...

  • 5. Docker网络管理

    1 Docker网络管理 1.1 Docker的默认网络通信 1.1.1 Docker安装后默认的网络设置 DNS...

  • 设置DNS

    修改文件 /etc/docker/daemon.json,添加DNS信息

  • 【swarm】Docker swarm 的服务发现

    Docker Swarm mode下会为每个节点的docker engine内置一个DNS server,各个节点...

  • 在mac上搭建本地DNS名称服务

    首先想到docker好像能给容器名称做解析,于是搜索:docker dns hadoop,得到:Dnsmasq解决...

网友评论

    本文标题:[Docker二]DNS

    本文链接:https://www.haomeiwen.com/subject/mqqgcqtx.html