Mun*_*kin 4 docker docker-compose docker-networking
我需要知道在同一台机器上运行的某个容器的主机名(或IP地址).正如我已在此处评论过(但尚无答案),我使用了docker-compose.该文件称,谱写会自动创建在同一定义的所有容器中的主机名条目docker-compose.yml文件:
服务的每个容器都加入默认网络,并且该网络上的其他容器都可以访问它们,并且它们可以在与容器名称相同的主机名上发现.
但我看不到任何主持人通过docker exec -it my_container tail -20 /etc/hosts.我也尝试添加links到我的容器中,但没有任何改变.
Docker 1.10引入了一些新的网络功能,其中包括一个 内部DNS服务器,用于完成主机查找.
在默认桥接网络(docker0)上,查找继续按/etc/hosts原样运行./etc/resolv.conf将指向您的主机解析器.
在用户定义的网络上,Docker将使用内部DNS服务器./etc/resolv.conf将具有Docker DNS服务器的内部IP地址.此设置允许桥接,自定义和覆盖网络以类似的方式工作.因此,swarm上的覆盖网络将像本地网桥一样从群组中填充主机数据.
维护了"遗留"设置,因此可以在不影响现有设置的情况下引入新的网络功能.
DNS解析器能够通过该服务的名称为docker compose服务提供IP.
例如,如果定义了a web和db服务,并且db服务扩展为3,则所有db实例都将解析:
$ docker-compose run --rm web nslookup db
Name: db
Address 1: 172.22.0.4 composenetworks_db_2.composenetworks_mynet
Address 2: 172.22.0.5 composenetworks_db_3.composenetworks_mynet
Address 3: 172.22.0.3 composenetworks_db_1.composenetworks_mynet
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9147 次 |
| 最近记录: |