Tag: dns

如何从一个networking内的另一个docker集装箱引用docker集装箱?

我试图用Confluence和JIRA创build一个服务。 我创build了一个这样的networking: docker network create –driver bridge atlassian_stack 并在这个networking上发布了一个容器,一个容器8080和8090: docker run -it –detach –publish 8080:8080 –net=atlassian_stack –name JIRA cptactionhank/atlassian-jira-software:latest docker run -it –detach –publish 8090:8090 –net=atlassian_stack –name CONFLUENCE cptactionhank/atlassian-confluence:eap 我可以在本地访问http://localhost:8080 (JIRA)和http://localhost:8090 (Confluence)。 但是,将应用程序链接在一起需要Atlassian产品中的硬编码IP。 Confluence想知道JIRA所在的地方,还有Vica verca。 它似乎没有看到上面的IP地址(这是有道理的),因为它抱怨未解决的DNS对方。 问题是:当应用程序需要一个硬编码的DNS / IP,并且它们驻留在同一个networking中时,我如何正确地将它们引用到另一个networking中?

Kube-DNS不起作用

我通过docker – multinode来设置k8s $ https_proxy=http://10.25.30.127:7777 IP_ADDRESS=10.25.24.116 MASTER_IP=10.25.30.127 ./worker.sh +++ [0828 15:38:35] K8S_VERSION is set to: v1.3.6 +++ [0828 15:38:35] ETCD_VERSION is set to: 3.0.4 +++ [0828 15:38:35] FLANNEL_VERSION is set to: v0.6.1 +++ [0828 15:38:35] FLANNEL_IPMASQ is set to: true +++ [0828 15:38:35] FLANNEL_NETWORK is set to: 10.1.0.0/16 +++ [0828 15:38:35] FLANNEL_BACKEND is set to: […]

泊坞窗自定义DNS在容器之间解决

我有以下docker-compose.yml php: build: ./phpfpm volumes: – ~/works/codes:/code web: image: nginx:latest ports: – "80:80" volumes: – ~/works/codes:/code – ./nginx/etc/conf.d/virtual.conf:/etc/nginx/conf.d/virtual.conf – ./nginx/var/log/nginx:/var/log/nginx links: – php 我有2个虚拟主机设置在Web容器内 app.lan api.lan 在我的php应用程序,我curl到api.lan 。 但它引发Could not resolve host: api.lan 在我的docker主机中,我添加了以下到/etc/hosts文件 127.0.0.1 app.lan 127.0.0.1 api.lan 我可以从docker主机机器curl到api.lan没有问题。 但似乎web容器不解决docker主机的名称。 如果我findweb容器的IP,并将其放入PHP容器的主机文件,如下所示。 172.18.0.5 api.lan 但是,如何在docker上自动执行这个操作。 还是有其他的最佳做法呢? 另外,如果我cat /etc/resolve.conf的任何一个容器,我可以find以下。 search local nameserver 127.0.0.11 options ndots:0 这是什么127.0.0.11? 它是主机吗? […]

Docker未绑定的DNS服务器:如何启动服务

我的主机系统是Arch Linux,Docker映像是“base / arch”(archlinux),并有我自己的修改。 Unbound被安装在一个提交的镜像上,但是我不知道如何启动运行该服务的容器,因为SystemD并不打算在Docker中运行。 我如何真正启动容器作为一个服务作为Unbound运行? 我已经通过一些基本的教程,但其中大部分包括启动预build容器: Dockers基础课程。 Arch Wiki。 数字海洋概述。 谢谢!

docker的embedded式DNS在默认的桥接networking

这个问题可能是针对所有docker专家。 但是让我先给一些背景。 我面临DNS解决问题(在docker的默认networking“桥”),直到我阅读以下文档在https://docs.docker.com/engine/userguide/networking/ 上面的dockernetworking检查命令显示给定networking上所有连接的容器及其networking资源。 此默认networking中的容器能够使用IP地址相互通信。 Docker不支持默认桥接networking上的自动服务发现。 如果要在此默认桥接networking中与容器名称进行通信,则必须通过传统泊坞窗运行 – 链接选项连接容器。 由于 – –link选项已被弃用,使任何docker run命令挂起,并最终捣毁docker守护进程(本地),我试图使用不同的桥接用户networking,并固定虚拟实例。 docker network create -d bridge –subnet=172.15.0.0/16 –gateway=172.15.0.1 -o com.docker.network.bridge.default_bridge=false -o com.docker.network.bridge.enable_icc=true -o com.docker.network.bridge.enable_ip_masquerade=true -o com.docker.network.driver.mtu=1500 -o com.docker.network.bridge.name=docker1 -o com.docker.network.bridge.host_binding_ipv4=0.0.0.0 a docker run –name db1 -e MYSQL_ROOT_PASSWORD=a -d mysql:5.7.16 docker run –name db2 -e MYSQL_ROOT_PASSWORD=a -d mysql:5.7.16 docker network connect –ip 172.15.0.40 a […]

为什么我的Docker容器中的networking/互联网如此之慢?

我问这个问题是因为我花了很多时间才弄明白为什么我的基础Ubuntu容器中的networking速度很慢,比主机操作系统慢50倍,这使得任何一种apt-get安装都需要很长时间(45在某些情况下+分钟)。 我怎样才能使我的容器中的networking更快?

使用DNS公开Docker端口和访问以便于Ansible-Access

我想先用Ansible做一些testing,然后覆盖我的Liveserver上的设置。 所以我决定针对本地docker实例运行Ansible。 是否有可能暴露Docker-Contianer的端口通过DNS名称(如“mailserver.local”/“webserver.local”)访问它们,而不是将端口绑定到本地主机? 最后,我想为我的服务器设置编写一个docker-compose,其中每个docker容器的行为与我的服务器完全相同,而不考虑第30个端口绑定到localhost的位置。 我的Dockerfile FROM ubuntu:16.04 MAINTAINER Sven Dowideit <SvenDowideit@docker.com> RUN apt-get update && apt-get install -y openssh-server python RUN mkdir /var/run/sshd RUN echo 'root:root' | chpasswd RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config # SSH login fix. Otherwise user is kicked off after login RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd ENV NOTVISIBLE […]

从dokku容器中查找DNS

我正在Ubuntu服务器上运行dokku容器内的一个节点应用程序,该服务器也运行bind9的DNS。 在节点的应用程序,我运行快车。 在节点的应用程序,我正在运行一个DNS反向查找客户端的IP这样(简化): const dns = require('dns'); const app = require('express')(); app.get('/myhostname', (req, res) => { dns.reverse(req.headers['x-forwarded-for'], (err, hostnames) => { res.json({ hostname: hostnames[0] }); }); }); 这可以在本地正常工作,但是一旦部署到dokku容器,就会失败并出现ENOTFOUND错误。 据推测,这是因为该应用程序没有设置为使用Ubuntu服务器作为其DNS服务器。 所以我试过这个后require('dns') : dns.setServers([process.env.DNS_SERVERS]) 其中DNS_SERVERS设置为服务器的本地LAN IP或其泊坞窗内部IP。 这两个地址中的任何一个都会导致延迟,并最终超时尝试获取地址。 我应该怎么做呢?

不能托pipe多个networking服务器吗?

读这个我得到一个Docker容器不能得到一个DHCP地址或获得一个DNS名称的印象。 题 这是否意味着我不能托pipe两个或更多的networking服务器,都需要听80端口? 甚至一个域名的networking服务器?

Docker容器无法使用主机名访问另一个容器

我有2个容器: docker run -d -p 9000:9000 –name="my-php" php-fpm:5.4 docker run -d –name="nginx" -p 80:80 -link my-php:web nginx 两个都运行得很好。 在nginx容器内,我可以使用该应用程序 curl http://myapp.dev 也来自主机。 我想要做的是相同的curl请求,但从我的PHP容器使用相同的“myapp.dev”主机名,howerver … curl:(7)无法连接到myapp.dev端口80:连接被拒绝 我可以使用容器的ip,但它不适合我。 即使我无法使用curl,我仍然可以ping其他容器,没有任何问题。 在nginx容器上: root@6252bfe9d545:/# env WEB_PORT_9000_TCP_PROTO=tcp HOSTNAME=6252bfe9d545 WEB_PORT_9000_TCP_ADDR=172.17.0.24 WEB_PORT_9000_TCP_PORT=9000 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ NGINX_VERSION=1.7.9-1~wheezy SHLVL=1 HOME=/root WEB_NAME=/nginx/web WEB_PORT_9000_TCP=tcp://172.17.0.24:9000 WEB_PORT=tcp://172.17.0.24:9000 _=/usr/bin/env root@6252bfe9d545:/# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric […]