【问题标题】:hostname in docker-compose.yml fails to be recognized on on mac (but works on linux)docker-compose.yml 中的主机名无法在 mac 上识别(但适用于 linux)
【发布时间】:2017-02-03 07:31:16
【问题描述】:

我正在使用下面的 docker-compose 'recipe' 来调出一个容器,该容器运行 Storm 流处理框架的一个组件。我在 Mac 上发现了 当我进入容器时(一旦它通过docker exec -t -i <container-id> bash启动并运行) 我做ping storm-supervisor 我得到了错误 '未知主机'。但是,当我在 Linux 上运行相同的 docker-compose 脚本时 主机被识别并且 ping 成功。

解析主机失败导致Storm组件出现问题...但是什么 对于这个问题,可以忽略该组件正在做的事情。我很确定我是否想通了 如何让 Mac 的 docker-compose 行为与 Linux 相匹配,那么我就没有问题了。

我想我遇到了这篇文章中提到的问题: https://forums.docker.com/t/docker-compose-not-setting-hostname-when-network-mode-host/16728

version: '2'
services:
  supervisor:
    image: sunside/storm-supervisor
    container_name: storm-supervisor
    hostname: storm-supervisor
    network_mode: host
    ports:
      - "8000:8000"
    environment:
      - "LOCAL_HOSTNAME=localhost"
      - "NIMBUS_ADDRESS=localhost"
      - "NIMBUS_THRIFT_PORT=49627"
      - "DRPC_PORT=49772"
      - "DRPCI_PORT=49773"
      - "ZOOKEEPER_ADDRESS=localhost"
      - "ZOOKEEPER_PORT=2181"

提前感谢任何线索或提示!

【问题讨论】:

    标签: macos networking docker


    【解决方案1】:

    "network_mode: host" 在 docker mac 上无法正常工作。我遇到了同样的问题,我在桥接网络中的容器很少,而在主机网络中的其他容器。 但是,您可以将所有容器移动到自定义桥接网络。它为我解决了。 你可以编辑你的 docker-compose.yml 文件来拥有一个自定义的桥接网络。

    version: '2'
    services:
      supervisor:
        image: sunside/storm-supervisor
        container_name: storm-supervisor
        hostname: storm-supervisor
        ports:
          - "8000:8000"
        environment:
          - "LOCAL_HOSTNAME=localhost"
          - "NIMBUS_ADDRESS=localhost"
          - "NIMBUS_THRIFT_PORT=49627"
          - "DRPC_PORT=49772"
          - "DRPCI_PORT=49773"
          - "ZOOKEEPER_ADDRESS=localhost"
          - "ZOOKEEPER_PORT=2181"
        networks:
          - storm
    networks:
      storm:
        external: true
    

    另外,执行以下命令来创建自定义网络。

    docker network create storm
    

    您可以通过以下方式验证它

    docker network ls
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2019-08-26
      • 2018-07-06
      • 2014-07-04
      • 2018-11-07
      • 1970-01-01
      • 1970-01-01
      • 2020-10-12
      • 2020-03-26
      • 1970-01-01
      相关资源
      最近更新 更多