【问题标题】:Windows Container unable to access internetWindows 容器无法访问互联网
【发布时间】:2021-01-26 14:33:37
【问题描述】:

运行基于 Windows 的容器我无法从内部访问互联网。示例:

我可以在我的主机上运行以下命令:

PS C:\Developer> nslookup aka.ms
Server:  cache100.ns.tdc.net
Address:  193.162.153.164

Non-authoritative answer:
Name:    aka.ms
Address:  88.221.62.148

当我尝试从容器内执行此操作时:

PS C:\Developer> docker run mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 powershell nslookup aka.ms
*** UnKnown can't find aka.ms: Server failed
Server:  UnKnown
Address:  172.28.112.1

虽然我对 aka.ms 并不特别感兴趣,但我尝试连接的所有服务都会发生此错误,因此我无法安装外部库等。

我正在运行 Docker Desktop v19.03.12。无论我是否启用了 WSL 2,都会发生这种行为,并且我的 Docker 设置都是默认设置。


注意:我前段时间经历过这种行为。那时我将以下 sn-p 添加到我的 Dockerfile 中:

RUN powershell -command certutil -generateSSTFromWU roots.sst && certutil -addstore -f root roots.sst && del roots.sst

据我了解,这将安装一个 SSH 证书,从而解决了该问题。然而,这个命令现在失败了:

PS C:\> certutil -generateSSTFromWU roots.sst
The server name or address could not be resolved 0x80072ee7 (WinHttp: 12007 ERROR_WINHTTP_NAME_NOT_RESOLVED) -- http://ctldl.windowsupdate.com/msdownload/update/v3/static/truste
dr/en/authrootstl.cab
CertUtil: -generateSSTFromWU command FAILED: 0x80072ee7 (WinHttp: 12007 ERROR_WINHTTP_NAME_NOT_RESOLVED)
CertUtil: The server name or address could not be resolved

【问题讨论】:

    标签: docker docker-for-windows docker-networking windows-container


    【解决方案1】:

    我在一个基本的服务器核心映像上对此进行了测试,并通过添加 DNS 设置使其正常工作。

    我以交互方式连接到容器以对此进行测试,但您也可以将命令添加到 DockerFile。

    docker run -it container powershell

    键入 netsh 开始网络配置
    首先我们查找要更改的网络
    (在我的例子中是“以太网 2”)
    然后我们给这个接口添加一个静态DNS服务器

    interface ip show config  
    interface ipv4 set dns name="Ehternet 2" static 8.8.8.8  
    exit
    

    nslookup aka.ms

    S C:\> nslookup aka.ms
    Server:  dns.google
    Address:  8.8.8.8
    
    Non-authoritative answer:
    Name:    aka.ms
    Address:  23.38.17.26
    

    Reference Docker Networking
    Reference howto

    【讨论】:

    • 有效。万分感谢! :-)
    猜你喜欢
    • 1970-01-01
    • 2016-02-20
    • 2020-01-04
    • 2020-10-18
    • 2018-05-01
    • 1970-01-01
    • 2014-07-11
    • 2021-09-23
    • 1970-01-01
    相关资源
    最近更新 更多