Tag: dns

Sporadic PDOException php_network_getaddresses:getaddrinfo失败:名称或服务未知

所以我不时地得到以下错误: Type: PDOException Code: 2002 Message: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known File: /var/www/html/system/db.php Line: 71 它没有特别的事件后随机开始。 我没有改变任何有关数据库连接等。我会提出一些要求,它会正常工作,然后将这个几秒钟/分钟,然后将回到工作再次。 $this->connection = new PDO('mysql:host='.DB_SERVER.';dbname='.DB_NAME, DB_USER, DB_PASS); 我的主机类似于以下内容。 它是来自我的ISP的子域,不应该有任何区别。 define("DB_SERVER", "name.plus.com:3306"); 这台机器是自主托pipe的,所以没有AWS,因为这个类似的问题在这里 – 更改DNSparsing器之后的“PDOexception:php_network_getaddresses:getaddrinfo失败”,数据库在AWS上运行 它在一些docker集装箱上运行。 我也重新启动了实际的机器。 为什么只是随机地无法在某些点解决该领域,然后工作正常?

Kubernetes:VPN服务器和DNS问题

我在我的(本地) Kubernetes集群中启动了一个docker docker-openvpn容器,以安全地访问我的服务并在本地debugging依赖的服务 。 我可以通过openVPN服务器连接到集群。 但是我无法通过DNS解决我的服务 。 我设法达到了在VPN服务器上设置路由之后: 我可以通过IP来ping Pod ( subnet 10.2.0.0/16 ) 我可以ping一个服务 的IP ( subnet 10.3.0.0/16如10.3.0.10的DNS) 我可以用IP来查询服务 ,并获取我需要的数据。 但是当我nslookup kubernetes或任何服务 ,我得到: nslookup kubernetes ;; Got recursion not available from 10.3.0.10, trying next server ;; Got SERVFAIL reply from 10.3.0.10, trying next server 我仍然错过了从DNS服务器返回的数据,但无法确定我需要做什么。 如何在Kubernetes DNS中debugging此SERVFAIL问题? 编辑: 我已经注意到,并希望了解的事情: nslookup可以parsing除openvpn Pod以外的任何pod中的服务名称 而nslookup在那些其他Pod中工作, ping不会。 类似的在其他10.0.2.2 […]

有没有办法使用DNS发现dockernetworking上的其他容器?

我希望能够从docker容器中获得在同一个dockernetworking上运行的所有容器的列表。 由于内置的​​dockerDNS可以给我的IP地址,如果我有主机名,它似乎应该能够给我一个主机名列表(也许DNS不能这样做,我不知道)。 其他方法,我想到的容器列表: 将docker socket安装到容器中并使用docker ps 。 就安全性而言,这不是一个好主意。 使用–link我相信在/etc/hosts放置条目的链接。 然后,我可以从那里读取它们,但是这样做的目的是失败的,因为当我启动容器时,我将不得不知道主机名。 我正在寻求避免使用外部服务发现机制,但我将不胜感激所有关于如何获得容器列表的build议。

如何将域名分配给docker中的容器

我正在阅读很多关于如何设置和运行docker堆栈的信息。 但我总是错过的东西之一是如何设置特定的容器响应通过他们的域名访问,而不是使用docker的DNS的容器名称。 我的意思是说,我有一个可以从外部访问的微服务,例如:users.mycompany.com,它将通过处理用户api的微服务容器 然后,当我尝试访问customer-list.mycompany.com时,它将通过正在处理客户列表的微服务容器 当然,使用docker dns我可以访问它们并将它们链接到dockernetworking中,但是这只能用于访问容器到容器,而不是Internet到容器。 有人知道我该怎么做吗? 或者设置这个最好的方法。

从主机查询dockerembedded的dns

有没有人知道一种方法来查询docker守护进程使用的embedded式DNS服务器。 我正在试验packetbeats,如果我可以用容器名称replacedocker的ip地址,这将是有用的。 我现在想到的唯一方法是在容器中创build一个dns服务器,该容器可以configuration为主机的dns服务器,以确保主机可以parsing容器名称。 希望有道理? 这是唯一的方式,还是有其他的select? 我试图查询的容器是使用docker-compose创build的。

Docker上的java.net.UnknownHostException

我正在尝试为ZooKeeper创builddocker容器并将其configuration为集群模式(完整的代码在这里和这里 )。 容器基于Alpine Linux(Docker Hub上的Alpine:3.2),但是我要描述的问题也是在官方Java容器(java:7)中发生的。 我使用以下命令启动集群: docker run -d -h zk1 –name zk1 dockmob/zookeeper -s zk1,zk2,zk3 # wait some time … docker run -d -h zk2 –name zk2 dockmob/zookeeper -s zk1,zk2,zk3 docker run -d -h zk3 –name zk3 dockmob/zookeeper -s zk1,zk2,zk3 (他们可以在docker集线器上,你可以试试他们)。 如果我在启动第二个和第三个容器之前等待一段时间,那么主机名zk2和zk3太晚(由docker),并且Java不能find它们:我得到java.net.UnknownHostException zk2和zk3的zk1的日志。 我在网上发现我需要禁用JVM DNScaching才能刷新主机名,所以我在Dockerfile中引入了以下命令来更新java.security设置: RUN grep '^networkaddress.cache.ttl=' /usr/lib/jvm/java-1.7-openjdk/jre/lib/security/java.security || echo 'networkaddress.cache.ttl=10' >> /usr/lib/jvm/java-1.7-openjdk/jre/lib/security/java.security […]

Docker容器无法从github.com克隆

我目前正在尝试使用HypriotOS 0.6.1版在Raspberry Pi 2上运行Docker容器。 不幸的是,在我的家庭networking上,我无法从GitHub克隆。 root@aaeac2ab909d:/home/meteor# GIT_CURL_VERBOSE=1 git clone –depth 1 https://github.com/4commerce-technologies-AG/meteor.git Cloning into 'meteor'… * Couldn't find host github.com in the .netrc file; using defaults * Hostname was NOT found in DNS cache * Trying 192.30.252.129… * Connected to github.com (192.30.252.129) port 443 (#0) * found 173 certificates in /etc/ssl/certs/ca-certificates.crt * server certificate verification […]

如何让docker集装箱与sshuttle工作?

我需要容器能够使用sshuttle工具。 我尝试在主机或容器中的任何一种方式。 但是没有一个会起作用。 这是我需要的:我运行: sshuttle -r mysshaccount@my.remote.server –dns 0/0在主机。 它可以帮助主机通过sshuttle访问互联网。 但是对于容器,它不能parsingDNS请求。 看来–dns会影响容器的DNSfunction。 如何使容器与主机的sshuttle工作? 如果我在容器中运行sshuttle。 看来容器在sshuttle中没有"–dns"选项的权限。 无论如何,我需要这个选项"–dns" ,因为这是中国政府防火墙(GFW)的唯一途径。 有人帮助使它工作?

Docker:为容器设置dns

我正在为其他容器设置一个DNS(也在容器中)。 当我手动执行时(通过–dns=172.17.0.100到–dns=172.17.0.100 docker run ),它工作得很好。 但是我需要使用docker撰写我的项目,我不能这样做,因为我的DNS容器的IP地址一直在改变。 我不想为容器设置静态IP地址。 我应该怎么做? 有没有一种方法,我可以通过DNS容器的名称,它可以识别? 谢谢。

apt-get在Docker后面的公司代理

我试图在Docker的企业代理服务器背后设置一个开发环境。 尽可能地尝试,我不能让docker集装箱与代理服务器交谈。 代理服务器和apt-get在主机上运行良好,即Ubuntu 12.04 Dockerfile中的第一件事是尝试设置代理variables: FROM ubuntu RUN echo 'Acquire::http { Proxy "http://my.proxy.net:8000"; };' >> /etc/apt/apt.conf.d/01proxy ENV HTTP_PROXY http://my.proxy.net:8000 ENV http_proxy http://my.proxy.net:8000 ENV HTTPS_PROXY https://my.proxy.net:8000 ENV https_proxy https://my.proxy.net:8000 RUN apt-get update && apt-get install -y build-essential 它拉好图像,设置variables,但是当它进入apt-get更新,它会尝试一会儿,然后失败: W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/InRelease W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/InRelease W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-security/InRelease W: Failed to […]