Tag: dns

dockerbuild设没有networking,但docker运行

如果我想构build我的Dockerfile,它不能连接到networking或至lessDNS: Sending build context to Docker daemon 15.95 MB Sending build context to Docker daemon Step 0 : FROM ruby —> eeb85dfaa855 Step 1 : RUN apt-get update -qq && apt-get install -y build-essential libpq-dev —> Running in ec8cbd41bcff W: Failed to fetch http://httpredir.debian.org/debian/dists/jessie/InRelease W: Failed to fetch http://httpredir.debian.org/debian/dists/jessie-updates/InRelease W: Failed to fetch http://security.debian.org/dists/jessie/updates/InRelease W: […]

无法使用新的1.10 DNS SD访问容器

我一直在尝试最新的RCdocker和几天,最后,今天,新的稳定版本(分别为1.10和1.6)。 在1.9中添加的新的networking东西迄今为止是非常棒的。 但是,由于我升级到1.10rc1(到目前为止每个RC和稳定),在同一个用户定义的networking中的容器不能再find对方。 事实上,他们现在甚至无法到达外面的世界。 一个简单的例子,文件test_docker / docker-compose.yml: version: '2' services: db1: image: mysql environment: MYSQL_ALLOW_EMPTY_PASSWORD: yes db2: image: mysql environment: MYSQL_ALLOW_EMPTY_PASSWORD: yes 这会创build两个包含官方映像的MySQL容器。 根据撰写文档,应创build一个新的testdocker_default ,这两个容器自动连接,情况如下: docker network inspect testdocker_default [ { "Name": "testdocker_default", "Id": "820f702e8e685567e4f1a8638cd9be305e96e37fcd741306eed6c1cf0d54ba02", "Scope": "local", "Driver": "bridge", "IPAM": { "Driver": "default", "Options": null, "Config": [ { "Subnet": "172.17.0.0/16", "Gateway": "172.17.0.1/16" } ] }, […]

Docker apt-get更新失败

有人可以帮我搞定在我的docker集装箱工作吗? 每当我尝试运行我的docker容器中的任何apt-get命令,命令失败。 我正在运行Docker版本1.1.1,在Ubuntu 12.04上构buildbd609d2。 当我做 $ sudo docker run -i -t ubuntu:14.04 /bin/bash # apt-get update 我得到错误说 无法parsing“archive.ubuntu.com” 我尝试在/ etc / default / docker中取消注释下面的行 DOCKER_OPTS =“ – dns 8.8.8.8 –dns 8.8.4.4” 但我仍然无法ping通google.com ping:未知的主机 我确认容器正在使用dns服务器8.8.8.8和8.8.4.4 root @ 0baa87fc6322:/#cat /etc/resolv.conf 名称服务器8.8.8.8 域名服务器8.8.4.4 而且我可以ping通两台服务器,所以我确信防火墙不仅仅是丢弃数据包。 任何帮助,将不胜感激! 谢谢!

docker中parsingdns速度缓慢或超时

在主机上,查找域非常快。 但是在docker集装箱内,这是很多的 较慢,有时超时。 主机是虚拟主机,它的dns服务器地址是127.0.0.1(奇怪,但是是真的)。 所以我试着修改容器里面的/etc/resolv.conf,把dns服务器设置为172.x(主机的地址)。 结果,我没有看到什么好的效果。 我也尝试将容器的dns服务器设置为自build的(101.x),但是,查找域名仍然很慢。 另一个奇怪的是,101.x是非常快。 我对这种现象感到困惑,任何人都可以解释和帮助?

将主机映射添加到Kubernetes中的/ etc / hosts

我有一个与kubernetes DNS映射的问题。 请看细节, 我们有一些可以从互联网上访问的服务器。 全球DNS将这些服务器的域名转换为公共互联网IP。 出于安全考虑,某些服务无法通过公共IP访问。 从公司内部,我们将私有IP地址的DNS映射添加到由kubernetespipe理的docker容器内的/ etc / hosts中以手动访问这些服务器。 我知道docker支持命令–add-host在执行“docker run”时更改/ etc / hosts。 我不确定这个命令是否支持最新的kubernetes,例如kuber 1.4或1.5? 另一方面,我们可以封装Docker容器的启动脚本, 首先将映射追加到/ etc / hosts 开始我们的申请 我只想在每个容器中首次运行后更改文件一次。 有没有一种简单的方法来做到这一点,因为在开发和生产环境之间的映射关系可能是不同的,或者由kubernetes本身提供的任何相关的命令? 感谢您的帮助。

为systemd上的OS设置Docker守护进程的DNS

Docker的默认DNS(例如8.8.8.8)在我工作的地方被阻塞,所以我想改变默认值。 我已经能够做到这一点使用 $ docker daemon –dns <mydnsaddress> 但是我想用systemd插件来做,因为官方的Docker文档是这样推荐的。 我已经做了一个/etc/systemd/system/docker.service.d/dns.conf文件,并使用这样的东西: [Service] DNS=<mydnsaddress> 但我不知道variables名应该是什么。 我如何设置? 更重要的是,是否有一个页面可以logging可以在Docker的systemd插件中使用的所有configurationvariables? (顺便说一句,这是Ubuntu 15.10上的Docker 1.9,虽然我不怀疑有任何bug)

Docker无法在专用networking上parsingDNS

我的机器位于专用DNS服务器的专用networking上,并且是专用于DNSparsing的专用区域。 我可以从主机上parsing这个区域的主机,但我无法从主机上运行的容器parsing它们。 主持人 : root@host:~# cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND — YOUR CHANGES WILL BE OVERWRITTEN nameserver 127.0.1.1 root@host:~# ping privatedomain.io PING privatedomain.io (192.168.0.101) 56(84) bytes of data. 容器 : root@container:~# cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) […]

我如何让Docker容器访问主机上的dnsmasq本地DNSparsing器?

有很多方法可以让Docker容器对DNS设置感到困惑(只需在SO或更广泛的互联网上search“Docker DNS”来查看我的意思),并且build议的常用解决方法之一是: 在主机系统上将dnsmasq设置为本地DNSparsing器 将其绑定到docker0networking接口 configurationDocker以使用docker0 IP地址进行DNSparsing 然而,试图在许多现代Linux系统上天真地运用这个解决方法,会让你失望一些Linuxnetworking和stream程pipe理的复杂性,因为systemd向你保证dnsmasq没有运行,但是netstat告诉你它已经并且实际上试图启动dnsmasq失败,抱怨端口53已被使用。 那么,如何可靠地让您的容器访问在主机上运行的本地parsing器,即使系统已经有一个默认运行的parsing器?

Docker-compose容器使用主机DNS服务器

我在“定制”桥梁networking中的“Ubuntu 16.10服务器”上运行了多个容器,编写了2.9(在yml版本2.1中)。 我的大部分容器在内部都使用相同的端口,因此我无法使用“主机”networking驱动程序。 我的容器都链接在一起,使用专用的links属性。 但是,我也需要访问暴露在我的容器外面的服务。 这些服务具有在我公司的DNS服务器中注册名称的专用URL。 虽然我没有问题,使用公共DNS,并从我的容器内达到任何公共服务,我只是无法达到我的私人DNS。 请问,你知道一个工作解决scheme使用私人DNS从容器? 或者甚至更好,使用主机的networkingDNSconfiguration? PS:当然,我可以使用extra_hosts -compose.yml文件中服务的extra_hosts属性链接到我公司的服务。 但是…这绝对不是拥有DNS的目标。 我不想在我的YML文件中注册我的所有服务,我不想每次在我公司更新服务的IP时更新它。 背景: 主机:Ubuntu 16.10服务器 Docker引擎:1.12.6 Docker撰写:1.9.0 docker-compose.yml:2.1 networking:自己的桥梁。 docker-compose.yml文件(解压): version: '2.1' services: nexus: image: sonatype/nexus3:$NEXUS_VERSION container_name: nexus restart: always hostname: nexus.$URL ports: – "$NEXUS_81:8081" – "$NEXUS_443:8443" extra_hosts: – "repos.private.network:192.168.200.200" dns: – 192.168.3.7 – 192.168.111.1 – 192.168.10.5 – 192.168.10.15 volumes_from: – nexus-data networks: – […]

如何从主机parsing主机名到Docker容器?

我知道Docker在127.0.0.11上运行了一个神奇的dns,所以我想我会尝试 nslookup mycontainername 127.0.0.11 mycontainername当然是我试图访问的容器的名称。 但是,那超时了。 ;; connection timed out; no servers could be reached 我究竟做错了什么? 我在Docker 1.10.3上。 如果有帮助,我使用docker-compose 1.6.2来拉起一堆容器。 编辑这是Docker 1.10的一个副本通过主机的主机名访问一个容器