Windows Server核心Docker容器网络问题

Windows Server核心Docker容器网络问题,docker,docker-compose,containers,docker-machine,windows-server-2019,Docker,Docker Compose,Containers,Docker Machine,Windows Server 2019,我通过docker compose使用以下设置创建了2个容器: docker-compose.yml文件: FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 WORKDIR /inetpub/wwwroot FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 WORKDIR /inetp

我通过docker compose使用以下设置创建了2个容器:

docker-compose.yml文件:

FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
WORKDIR /inetpub/wwwroot
FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
WORKDIR /inetpub/wwwroot
版本:“3.7”
服务:
网状物:
图片:img_网站
容器名称:cont\u web
SVC:
图片:img_svcs
容器名称:cont\u svcs
取决于:
-网
img\u网站的Dockerfile:

FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
WORKDIR /inetpub/wwwroot
FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
WORKDIR /inetpub/wwwroot
img\U SVC的Dockerfile:

FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
WORKDIR /inetpub/wwwroot
FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
WORKDIR /inetpub/wwwroot
在docker compose up-d之后,从cont_svcs容器中,我能够:

  • 通过IP Ping cont_web

  • 按主机名Ping cont_web(容器id:bf4001be1e84 自动生成。)

  • 但是我不能通过别名(web)Pingcont_web容器

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

    “网络”:{
    “测试默认值”:{
    “IPAMConfig”:空,
    “链接”:空,
    “别名”:[
    “bf4001be1e84”,
    “网络”
    ],
    ...
    
    两个容器都连接到“test_default”驱动程序

    注意:即使是我也不能通过机器本身内的“web”别名ping web机器

    我将非常感谢您的帮助和反馈

    谢谢
    Sam

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

    networks:
      default:
        external:
          name: nat
    
    现在,尝试使用服务名称ping服务

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


    您还可以尝试此解决方法来正确解析DNS-

    这是因为Netbios解析适用于主名称。您可以尝试通过注册表添加第二个Netbios名称:


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

    非常感谢您的回答,您的意思是设置容器的Netbios名称和“OptionalName”吗是主机地址吗?是的,Sameh,这就是我的意思。当您只使用主机名ping时,它的Netbios解析将起作用。您需要在这里找到解析