无法通过“ network_mode:主机”访问容器

时间:2020-07-26 01:25:51

标签: docker docker-compose home-assistant

我无法在network_mode: host的docker中使用windows 10。我尝试不同的图像,但是也不能。

我在下面发布了我的docker-compose.yaml

docker-compose.yaml

  homeassistant2:
    container_name: hass2
    image: homeassistant/home-assistant:0.112.2
    network_mode: host

但是在设置端口映射时,一切都很好

   ports:
      - '8123:8123'
   # network_mode: host

我的环境是 windows 10

我从命令 docker inspect

中获得了一些信息

我在下面发布了有关网络设置的一些信息。

        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "f084a1e7e4966f0bff678e4120c1bcbc7afdd1c55d5164b1dc4a606470c43bcc",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/default",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "host": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "656b532cdc48c9e34e616ec0a38ef944c5e52e2dfca506ca99e53b4b16206000",
                    "EndpointID": "",
                    "Gateway": "",
                    "IPAddress": "",
                    "IPPrefixLen": 0,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "",
                    "DriverOpts": null
                }
            }
        }
    }
]

如果我需要提供其他信息来分析问题,请告诉我。

1 个答案:

答案 0 :(得分:2)

在Windows或MacOS上运行Docker时,实际上是在Linux虚拟机中运行Docker。设置network_mode: host时,就是将容器连接到虚拟机的网络环境。这很少有用。

network_mode: host实际上只有在Linux上本地运行Docker时才有意义。

您最好坚持使用端口发布。