Tag: dns

用docker和selenium读取本地URL

我正在制造一个用selenium自动化的docker集装箱。 目前,我所做的只是读标题。 这对实际的活动URL很好,但我想使用我的本地DNS。 我有我的本地机器/ etc / hosts中的以下内容 172.31.249.112 site.dev 172.31.249.112 www.site.dev 172.31.249.112 xhprof.site.dev 当我运行: browser.get('http://site.dev/') 我得到的错误: selenium.common.exceptions.WebDriverException: Message: Reached error page: about:neterror?e=dnsNotFound&u=http%3A//site.dev/&c=UTF-8&f=regular&d=Firefox%20can%E2%80%99t%20find%20the%20server%20at%site.dev. 如何使容器以某种方式解决我的本地(主机)DNS?

是否可以在具有不同子域和相同侦听端口(80)的单个主机上部署多个容器?

我已经在单个Windows Server 2016上部署了20个ASP.Net容器。在这里我有点容器与不同的端口在相同的IP工作正常。 我需要在端口80上公开容器中的所有站点来分隔子域(例如:site1.serveraction.com,site2.serveraction.com) 但是另外一个工作的容器正在下降。 在这里,我的Docker撰写文件: 版本:“3”服务:site1:image:“raj / con:site1”环境: – HOST_NAME = 13.92.51.1XX – VIRTUAL_HOST = site1.serveractions.com端口: – “80:80” 版本:“3”服务:site2:image:“raj / con:site2”环境: – HOST_NAME = 13.92.51.1XX – VIRTUAL_HOST = site2.serveractions.com端口: – “80:80”

在Ubuntu上使用Ubuntu Artwork的Docker容器中的DNSparsing

这篇文章解决了我发现的一个问题 – 所以我希望别人会觉得它有用。 使用AWS Ubuntu Zesty – 17.04 – 使用Ansible和Terraform安装了Docker的图像很直接,但是到了Ubuntu Artful – 17.10,无论我安装了哪个版本的Docker,容器启动都无法parsingDNS。 经过大量的testing后,在我看来,主机是通过错误的DNS服务器进入容器内的resolv.conf – 所以它永远不会工作。 解决scheme: 对于systemd和docker,更改守护程序设置的首选方法是在/ etc / docker中创build一个名为daemon.json的新文件。 在该文件中添加以下内容以使其使用AWS VPC默认DNSparsing器 – 10.0.0.2 – 就像这样 { "dns": ["10.0.0.2"] } 重新启动docker守护进程,容器现在可以parsingDNS。 可能有其他方法可以解决这个问题,但是这个工作是完美的,并且使用了docker社区首选的方法。 我希望这能帮助那些可能遇到这个问题的人。 其他设置可以在这个文件中find。 Dockerd设置文档

无法parsingdocker中的主机

我想在docker上,在我的机器(Ubuntu)上做一个jenkins。 我必须访问我公司的git回购。 但在jenkins,我得到这个错误: 无法parsing主机:gogs.mycompany.com 我认为这是一个DNS错误,所以我试图启动我的docker这样(使用–dns和–dns-search) sudo docker run -p 8080:8080 -p 50000:50000 -v / home / xero / jenkins:/ var / jenkins_home –name = myproject-jenkins2 –dns = 127.0.1.1 –dns-search = mycompany.lan jenkins 在这里我的/etc/resolv.conf: 域名服务器127.0.1.1 searchmycompany.lan 我做错了什么?

我怎样才能触发我的容器中重装的resolv.conf?

在启动时运行容器时,我注意到在systemd-resolved使用DHCP从缺省更新之前,有一些使用resolv.conf。 这意味着启动后过早启动的容器无法解决任何问题,需要重新启动才能使用正确的DNS设置。 对于rkt和Docker来说,这是因为不同的原因而发生的; Docker用于更新容器内resolv.conf的方法与overlay文件系统驱动程序不兼容,而且由于systemd-resolved并没有就地更新文件(而是创build了临时文件并重命名),因此rkt的绑定挂载不会更新容器所看到的内容。 目前我正在使用hacky systemd.unit来延迟docker.service和我的rkt pod所依赖的network-online.target。 [Unit] Description=Wait for DNS [Service] Type=oneshot RemainAfterExit=true ExecStart=/bin/sh -c 'while ! getent ahosts google.com >dev/null; do sleep 1; done' [Install] WantedBy=network-online.target 但是这大大延迟了我的启动时间 # systemd-analyze blame 18.068s wait-for-dns.service … 如果resolv.conf再次更改它将无济于事。 所以我想知道是否有一个更优雅的解决scheme,我的问题。 理想情况下,我希望能够在每次更改rkt和Docker容器时触发resolv.conf更新。

nslookup:isc_socket_bind:使用中的地址 – 无法parsingdocker容器中的dns(phusion image)

我正在运行一个带有2CPU,8GB Ram,450Mbps带宽的AWS实例,以及一个容纳python应用程序的docker容器。 在Python运行当天,容器的平均负载约为6.0,容器运行10个小时后,主机和容器仍然在运行,但是没有连接任何域,仍然可以通过IP地址连接。 还有主机DNS仍然工作正常。 这里是细节: `nslookup google.com` results: `nslookup: isc_socket_bind: address in use` 我知道运行在平均6.0以下的负载可能会导致很多问题,但在我的情况下,DNS问题会随着时间的推移而发生,因此我需要了解为什么在升级AWS实例之前。

Dockerfile FROM指令中的DNSparsing

我有一个Dockerfile来build立一个图像在我的公司内部像这样使用: FROM internal-nexus/some/base-image 在我的主机(MacOS)中,我在/etc/hosts有以下条目 xx.yy.zz.vv internal-nexus 如果我使用上面的Dockerfile运行docker docker build ,而不是在高级中拖动基础镜像,docker需要很长时间才能响应,最后超时: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) 如果我做一个docker pull在主机,然后docker build ,一切工作正常,docker可以拉基础图像,并build立使用Dockerfile 我试图在docker build指定–add-host=internal-nexus:xx.yy.zz.vv ,但这不是帮助 我的问题是:如何FROM指令解决DNS和如何解决这个问题?

从用户github源设置一个容器

可以closures,不知道该怎么做。 我现在很坦白地输了,在Github上发布他的源码的用户在发布一个新的分支时没有更新安装说明。 现在,我不是密集的,只是没有受过教育的docker工人。 我真的很感激推动正确的方向。 如果我缺less这篇文章的任何信息,请允许我在评论中提供。 当前设置 O / S – Debian 8 Minimal(最新内核) 硬件 – 1GB VPS(KVM) Docker – 安装了Compose( #docker info ) 我试图设置这个( https://github.com/pboehm/ddns/tree/docker_and_rework ),首先我应该克隆这个混帐到我的工作目录? 比如说/ home。 我将运行以下命令; git clone -b docker_and_rework https://github.com/pboehm/ddns.git 已成功将源文件克隆到/ home / ddns / …( 工作目录 ) 现在,我相信我应该继续前进,并build立一些*,所以我进入以下目录; /home/ddns/docker 里面包含了一个docker-compose.yml文件,我不知道这是干什么的,但是通过查看它,它似乎发送了一堆指令,我只能假定是实际部署或构build整个容器/映像或神奇的东西吧? 从这里我继续做下面的事情; docker-compose build 正如我们所看到的,我相信它build造的容器或图像或任何它所谓的,你明白我的观点( 在这里 )。 一段时间后,完成,我们可以看到以下( docker图像运行 )。 这是正确的,我看到所有的依赖关系,但是像这样的东西; […]

在docker-compose中将容器名称parsing为extra_hosts选项

我需要从另一个容器中curl我的API。 容器1被称为nginx容器2被称为fpm 我需要能够冲进我的FPM容器并curlnginx容器。 configuration: services: nginx: build: context: . dockerfile: ./docker/nginx/Dockerfile volumes: – ./docker/nginx/conf/dev/api.conf:/etc/nginx/conf.d/default.conf ports: – 8080:80 links: – fpm fpm: build: context: . dockerfile: ./docker/fpm/Dockerfile volumes: – .:/var/www/html – ./docker/fpm/conf/dev/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini – ./docker/fpm/conf/dev/api.ini:/usr/local/etc/php/conf.d/api.ini env_file: – ./docker/mysql/mysql.env – ./docker/fpm/conf/dev/fpm.env links: – mysql shm_size: 256M extra_hosts: – myapi.docker:nginx 我最初的想法是把它放在extra_hosts选项中,比如: extra_hosts: – myapi.docker:nginx 但docker组成失败: 错误:对于apiwip_fpm_1无法创build容器服务fpm:add-host中的IP地址无效:“nginx” 我已经看到一些使用docker的networkingconfiguration的人的例子,但似乎只是解决一个地址。 如何解决/评估容器的IP地址,而不是直接传递?

从由mesos运行的docker容器访问kubernetes服务

我在我的Kubernetes集群中运行mesos-master(mesosphere / mesos-master)和mesos-slave(mesosphere / mesos-slave)。 Mesos从站启动泊坞窗容器(docker通过挂载/ usb / bin / docker从主机访问)与我的数据处理应用程序(短暂的,1-5分钟)需要访问其他kubernetes服务。 所以简而言之,我需要从容器中访问Kubernetes DNS。 有没有可能做到这一点? 谢谢