【问题标题】:How to refer a host as hostname instead container name?如何将主机称为主机名而不是容器名称?
【发布时间】:2018-06-28 01:50:38
【问题描述】:

我有两个容器,我已经开始了:

-name foo --hostname mynet.foo

-name bar --hostname bar

foo 容器我可以使用ping bar ping bar,但从bar 容器我只能使用ping foo(容器名称)ping foo 容器。如果我尝试使用ping mynet.foo ping foo,我有一个bad address: mynet.foo

我需要将主机称为--hostname 值而不是-name 值。

来自this--hostnamelocal hostname of the container (i.e. the one it sees itself). 疯了!

【问题讨论】:

    标签: docker


    【解决方案1】:

    要通过容器的主机名访问容器,您只需为此添加一个主机条目。

    例如:

    docker run -tid --name foo --add-host=bar:<ip-address-of-bar-container> -h  mynet.foo <image-name>
    
    docker run -tid --name bar --add-host=mynet.foo:<ip-address-of-foo-container> -h bar <image-name>
    

    有了这个,您将能够从 bar 容器 ping mynet.foo,反之亦然。

    【讨论】:

    • 等等....我怎么能在不知道 IP 地址的情况下做到这一点?我需要在run 命令行中创建完整的 DNS 吗?我什至不知道网络 IP 范围,因为我想让事情变得简单。
    • dns设置可以参考这个链接stackoverflow.com/questions/37242217/…
    • 太棒了!谢谢。
    猜你喜欢
    • 2022-06-15
    • 2015-12-14
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    相关资源
    最近更新 更多