【问题标题】:resolve internal DNS in linked docker containers解析链接的 docker 容器中的内部 DNS
【发布时间】:2015-07-11 07:56:37
【问题描述】:

我通过以下方式构建了两个基础镜像:

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 我的数据库容器:

$ 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 docker ubuntu-14.04


    【解决方案1】:

    查找您正在使用的 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 配置更改。在我问这个问题之前我已经这样做了。
    猜你喜欢
    • 2020-11-08
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-19
    • 2020-07-30
    • 2017-02-22
    • 1970-01-01
    相关资源
    最近更新 更多