dns - 在链接的Docker容器中解析内部DNS

我通过以下方法构建两个基本镜像:

docker build --tag dw_web web/
docker build --tag dw_db db/

并通过以下方式启动数据库容器:
docker run -d --publish 3306:3306 --name dw_db_1 dw_db

通过以下命令启动Web容器时,无法ping我的数据库容器:
$ 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选项,但不走运。

有什么想法我可以看看吗?

谢谢,

最佳答案

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

nmcli dev list iface eth0 | grep IP4

然后将地址放入/ etc / default / docker
docker_OPTS="--dns 8.8.8.8"

并重新启动docker
sudo restart docker

https://stackoverflow.com/questions/29987645/

相关文章:

django - 如果我将我的Elastic Beanstalk应用程序移动为使用Docker,是否

hadoop - HDFS如何存储大于 block 大小的单个数据?

docker - 如何将Docker的容器与管道连接

java - java.io.IOException:方案:maprfs没有文件系统。将maprfs

hadoop - 从Teradata查询到pyspark

php - PHP shell_exec无法执行Hadoop命令

nginx - 在docker中无法将nginx与ghost链接

hadoop - Hadoop 2.7.7,无法使用端口8088打开Resource Manager

json - 如何使用Python解析Spark 1.6中格式错误的JSON字符串,其中包含空格,多

hadoop - reducer 的默认数量