Tag: dns

Docker镜像dns probem,名字解决失败

当我运行一个最新的Ubuntu镜像作为一个容器,它的apt-get更新失败。 它向我展示了一个“临时失败解除”archive.ubuntu.com“”。 然后我试着如下解决scheme 回声“91.189.92.201 archive.ubuntu.com”>> / etc / hosts 但这只能用于“archive.ubuntu.com”,只能用一次,解决不了其他名称。 如果我想要容器链接任何网站,我需要做类似的工作,如上所述添加网站的IP地址和名称/ etc / hosts / 我怀疑这是一个DNS问题,所以我尝试了下面的解决scheme。 在这里input图像说明 通过添加“DOCKER_OPTS =” – dns –dns“,结果就像我想要的一样。 在这里input图像说明 我想在Ubuntu Docker的容器可以连接到每个网站,我认为这将是一个问题,容器没有能力来parsing网站的名称。 我search了stockoverflow并尝试了一些已知的解决scheme,但仍然没有成功。 如果你遇到类似的问题,但回答我的解决scheme,非常感谢。

Docker Swarm 1.12的DNS故障转移

我想为我写的web服务设置一个故障转移。 到处都是我读的Docker群1.12自动故障转移,但我认为只有失败的容器。 我应该如何为我的服务configuration公共DNS? 如果主机closures,故障转移如何工作? 使用普通的dns循环和节点IP将无法工作。 每n个请求将失败n服务器。 如果一台主机closures,Docker路由网格不起作用。 还是我想念这里的东西? 供参考:目前我不使用docker群,但我打算这样做。

为什么我无法通过名称或VIP访问Docker群集中的服务?

所以我有一个运行在Ubuntu主机上的docker引擎(版本1.12.6,build 78d1802)。 我创build了一个使用群发 docker swarm init –advertise-addr 192.168.1.2 我有一个本地预build的图像,我使用它创build一个名为nodeapp的服务,如下所示 docker service create –name nodeapp –publish 3000:3000 –replicas 2 node-app-image 现在,当我inputcurl localhost:3000我得到了预期的正确响应,一切正常。 这个文件和我提到的许多其他人似乎build议docker v1.12.x通过DNS或VIP方法内置负载均衡/路由。 所以我试图通过服务名称或虚拟IP访问我的服务如下 curl nodeapp:3000 curl: (6) Could not resolve host: nodeapp 和 curl 10.255.0.6:3000我curl: (7) Failed to connect to 10.255.0.6 port 3000: Connection timed out 请注意,我使用以下命令获取虚拟IP docker service inspect –format {{.Endpoint.VirtualIPs}} nodeapp产生[{boq3g7s47w47q2ej56li9s3dw 10.255.0.6/16}] […]

Docker:从docker访问VPN域

有一些websource“ http://vpnaccessible.com ”,我需要通过wget下载一些RPM包。 而这个networking来源只能从VPN访问。 所以我使用Cisco AnyConnect VPN客户端进入VPN,然后我想使用Dockerfile在这个wget命令列出的地方构build镜像。 问题是:Docker无法访问容器内的该域。 所以我试图在/etc/docker/daemon.json传递dns选项,但不知道应该传递哪个DNS IP,因为在我的本地有默认的DNS 192.168.0.1, 8.8.8.8 。 我试图通过docker0接口的数组IP地址,例如172.17.0.1 – 没有工作。 $ cat /etc/docker/daemon.json { "insecure-registry": "http://my-insecure-registry.com", "dns": ["192.168.0.1", "172.17.0.1", "8.8.8.8"] } 我也尝试将这个websource添加到/etc/resolf.conf但是当我运行docker来构build镜像时,它被编辑为prev状态(更改不会被保存在那里),我想这是我的Cisco VPN客户端行为 -没有工作。 也尝试添加由Cisco VPN客户端创build的接口的IP地址到该dns – 没有工作 我也在/etc/NetworkManager/NetworkManager.conf注释掉了dns=dnsmasq – 没有工作 当然,在这些更改之后,我正在重新启动Docker和NetworkManager服务。 问题 :我应该在Docker容器和我的VPN之间创build一个桥梁吗? 如何解决这个问题?

Docker DNS服务器不可联系的外部容器

我知道这看起来像一个重复的post,但我没有审查其他人,甚至尝试从这些post的一些选项,但似乎没有得到它的工作。 我有一个在Docker容器中运行的绑定DNS服务器。 docker run –name=dns-server -it -d –dns=8.8.8.8 –dns=8.8.4.4 -p 53:53/tcp -p 53:53/udp -v /DATA/etc/bind:/etc/bind -v /DATA/var/cach /bind:/var/cache/bind -v /DATA/var/log/named:/var/log/named jon/dns-server 运行良好: [root@docker-01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8272ac164460 jon/dns-server "/entrypoint.sh" 34 seconds ago Up 34 seconds 0.0.0.0:53->53/tcp, 0.0.0.0:53->53/udp dns-server 端口53是暴露在udp和tcp上… [root@docker-01 ~]# docker port dns-server 53/tcp -> 0.0.0.0:53 […]

什么是一个有效的名称作为DNS名称组件?

我写命令: docker stack deploy –compose-file=docker-compose.yml testlogin/test并得到这个错误 – Error response from daemon: rpc error: code = 3 desc = name must be valid as a DNS name component 什么名字被认为是有效的?

尝试使用Docker容器设置本地DNS – 试图连接到它

我在家里有一个UNRAID服务器,除了一个文件服务器有一堆的容器和虚拟机,现在我试图把我自己的DNS服务器安装在这些虚拟机之一,让我的路由器使用它作为主DNS。 现在我正在按照这个指导来设置使用Docker镜像的BIND,但是我被困在应该通过使用容器来parsing主机名来testing连通性的部分。 这些是我的networking设置: 网关/路由器:192.168.1.1 虚拟机将是DNS:192.168.1.3 我的想法是,路由器将把它的主要DNS指向该虚拟机的地址,辅助DNS指向谷歌或我的ISP。 networking中的其他设备都将使用路由器作为主DNS。 下面是我做什么来启动容器: sudo docker run –name bind -d –restart=always \ –publish 53:53/tcp –publish 53:53/udp –publish 10000:10000/tcp \ –volume /srv/docker/bind:/data \ sameersbn/bind 我可以看到容器正在运行 CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS bind 0.00% 137.8 MiB / 3.856 GiB 3.49% 18.7 MB / 474 kB […]

是否有可能让docker使用主机的dnses?

即时通讯与Docker使用Vagrant,我目前需要从docker容器到达主机dnses,甚至添加我的自定义dns到docker(然后我将我的外部IP添加到DNS和效果将是我认为相同)。 这甚至有可能吗? 我试图通过config.yml挂载/ etc目录如下 #directory map docker_map: – "/etc:/etc" 并input期望在挂载/ etc / hosts文件中的DNS,但它不是为我工作(也许我做错了什么?idk) 我也尝试在config.yml的下面的字段添加主机 # factory settings… docker_hosts: – "127.1.2.3 my-dns" 但又一次没有成功。 我也尝试在/ etc / default / docker中添加–dns参数到DOCKER_OPTS,但是这是为了别的我猜…你能给我任何build议吗? 谢谢。

注册docker容器主持networkingDNS

美好的一天 我想知道是否有一种方法来dynamic添加一个docker容器到主机networking的DNS服务器。 问题是我有一个图像,我想主持多次testing和UAT的目的。 我使用traefik在dockernetworking中dynamic发现它们。 我需要做的就是将它们dynamic地添加到DNS服务器,或者让它们作为主机接收域名。 当开发团队需要访问机器时,他们所需要做的就是input服务器的名称,例如app.uat.domain / app.develop.domain,并且不需要我手动更新dnslogging全程。 提前致谢

docker化的Web服务在共同的nginx rproxy下编排:通过rproxy路由中间stream量

一个以nginx作为主机中央rproxy的docker容器占用端口80.它将每个基于域名的请求redirect到N个内部(django,flask)docker化服务,每个服务暴露8000或5000个。 每个服务都有一个相应的子域,用于parsing主机的(AWS EC2实例)公共IP。 这些条目位于注册商(domain.com)的DNS Alogging以及/etc/hosts的/etc/hosts中。 你将如何通过rproxy容器使内部服务相互通话而不需要拨打公共互联网? 例如,如果我监视来自主机的调用dns调用: sudo tcpdump -vvv -s 0 -l -n port 53 如果我向主持人提出要求: curl a.mydomain.com 没有传出调用,但是如果我从一个容器的shell发出相同的请求,那么我在tcpdump控制台中得到结果: 15:16:43.115879 IP (tos 0x0, ttl 255, id 50739, offset 0, flags [none], proto UDP (17), length 81) 172.31.0.2.53 > 172.31.21.245.35952: [udp sum ok] 28855 q: A? a.mydomain.com. 1/0/0 a.mydomain.com. [1m] A <public-IP-here> (53) 我的主机的/etc/resolv.conf文件: nameserver […]