解析链接的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配置更改。在我问这个问题之前我已经做过了。