解析链接的docker容器中的内部DNS

解析链接的docker容器中的内部DNS,dns,docker,ubuntu-14.04,Dns,Docker,Ubuntu 14.04,我通过以下方式构建两个基本图像: docker build --tag dw_web web/ docker build --tag dw_db db/ 并通过以下方式启动db容器: docker run -d --publish 3306:3306 --name dw_db_1 dw_db 当我通过以下命令启动web容器时,我无法ping我的db容器: $ docker run -ti --rm --publish 8181:80 --link dw_db_1:dbsrv --name d

我通过以下方式构建两个基本图像:

docker build --tag dw_web web/
docker build --tag dw_db db/
并通过以下方式启动db容器:

docker run -d --publish 3306:3306 --name dw_db_1 dw_db
当我通过以下命令启动web容器时,我无法ping我的db容器:

$ docker run -ti --rm --publish 8181:80 --link dw_db_1:dbsrv --name dw_web_1 dw_web /bin/bash

root@ccd4ad5f0ae4:/# env
HOSTNAME=ccd4ad5f0ae4
TERM=dumb
DBSRV_NAME=/dw_web_1/dbsrv
DBSRV_ENV_DEBIAN_FRONTEND=noninteractive
LC_ALL=en_US.UTF-8
LS_COLORS=
DBSRV_ENV_LC_ALL=en_US.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
DBSRV_PORT=tcp://172.17.0.3:3306
DBSRV_PORT_3306_TCP_PORT=3306
LANG=en_US.UTF-8
DBSRV_PORT_3306_TCP_ADDR=172.17.0.3
DBSRV_PORT_3306_TCP=tcp://172.17.0.3:3306
DBSRV_PORT_3306_TCP_PROTO=tcp
DBSRV_ENV_LANG=en_US.UTF-8
SHLVL=1
HOME=/root
DEBIAN_FRONTEND=noninteractive
LESSOPEN=| /usr/bin/lesspipe %s
LESSCLOSE=/usr/bin/lesspipe %s %s
DBSRV_ENV_TERM=dumb
_=/usr/bin/env
root@ccd4ad5f0ae4:/# 
root@ccd4ad5f0ae4:/# cat /etc/hosts 
172.17.0.4  ccd4ad5f0ae4
127.0.0.1   localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.3  dbsrv d7814795da3c dw_db_1
root@ccd4ad5f0ae4:/# ping dbsrv
ping: unknown host dbsrv
root@ccd4ad5f0ae4:/# 
root@ccd4ad5f0ae4:/# ping -c 1 172.17.0.3
PING 172.17.0.3 (172.17.0.3) 56(84) bytes of data.
64 bytes from 172.17.0.3: icmp_seq=1 ttl=64 time=0.118 ms

--- 172.17.0.3 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.118/0.118/0.118/0.000 ms
root@ccd4ad5f0ae4:/#
我在网上上下搜索过,但没有找到任何关于我能找到什么的线索。这两个图像都基于ubuntu:1404图像,只需通过apt get安装一些软件包

我也尝试过在没有运气的情况下使用-dns选项

有什么想法我可以看看吗


thx,

查找您正在使用的DNS服务器:

nmcli dev list iface eth0 | grep IP4
然后将地址放到/etc/default/docker

docker_OPTS="--dns 8.8.8.8"
然后重新启动docker

sudo restart docker

我既不使用网络管理器,也不使用/etc/default/docker配置更改。在我问这个问题之前我已经做过了。