【问题标题】:Windows Server Core Docker Containers networking problemWindows Server Core Docker Containers 网络问题
【发布时间】:2020-03-31 21:35:45
【问题描述】:

我通过 docker compose 创建了 2 个容器,设置如下:

docker-compose.yml 文件:

version: "3.7"
services:
    web:
        image: img_web
        container_name: cont_web

    svcs:
        image: img_svcs
        container_name: cont_svcs
        depends_on:
            - web

img_web 的 Dockerfile:

FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
WORKDIR /inetpub/wwwroot

img_svcs 的 Dockerfile:

FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
WORKDIR /inetpub/wwwroot

docker-compose up -d 之后,从 cont_svcs 容器中,我能够:

  1. 通过 IP ping cont_web

  2. 按主机名 Ping cont_web(容器 ID:bf4001be1e84 自动生成。)

我无法 Ping cont_web 容器的别名 (web)

我检查了两个容器,我可以在网络部分看到以下内容:

"Networks": {
            "test_default": {
                "IPAMConfig": null,
                "Links": null,
                "Aliases": [
                    "bf4001be1e84",
                    "web"
                ],
...

两个容器都连接到“test_default”驱动程序。

注意:即使我无法通过机器本身内的“web”别名 ping 网络机器。

非常感谢您的帮助和反馈。

谢谢 山姆

【问题讨论】:

    标签: docker docker-compose containers docker-machine windows-server-2019


    【解决方案1】:

    这是因为 Netbios 解析适用于主名称。您可以尝试通过注册表添加第二个 Netbios 名称:https://www.techrepublic.com/blog/the-enterprise-cloud/adding-multiple-netbios-names-for-windows-servers/

    或者,我建议在 DNS 中创建第二条 Cname 记录并使用静态名称进行解析(对于您的 docker 容器,您可能无法接受)

    【讨论】:

    • 非常感谢您的回答,您的意思是设置 CONTAINER 的 Netbios 名称,“OptionalName”是主机地址?
    • 是的,我就是这个意思。当您只使用主机名来 ping 时,它的 Netbios 解析就会起作用。这是您需要找到解决方案的地方
    【解决方案2】:

    尝试添加一个明确的 NAT 网络以用于您的部署。 为此,请在 docker-compose 文件末尾添加以下内容-

    networks:
      default:
        external:
          name: nat
    

    现在,尝试使用服务名称 ping 服务。

    如果这不起作用,则可能是您的本地计算机中安装了安全防火墙或 Internet 安全应用程序,这很可能阻止了 dockerd.exe DNS 服务。尝试实施一些规则以允许有关基于 docker 的服务的 TCP 和 UDP 端口。

    您也可以尝试此解决方法来正确解析 DNS-https://github.com/docker/for-win/issues/1976#issuecomment-418151244

    【讨论】:

      猜你喜欢
      • 2021-12-02
      • 1970-01-01
      • 2019-11-23
      • 2019-04-08
      • 2019-03-10
      • 1970-01-01
      • 2022-11-01
      • 2018-12-08
      • 1970-01-01
      相关资源
      最近更新 更多