如何将 DNS 条目添加到 Windows 容器的主机文件中?

2023-11-29

我的主机的 IIS 中有一个网站,可以通过以下方式访问http://mysite.local地址。我还有一个在此主机上运行的 Windows 容器,我正在尝试使用“curl http://mysite.local”从我的 Windows 容器连接到该网站。

我将向容器的主机文件添加正确的 DNS 条目。为此,我连接到容器的命令 shell 并运行以下命令:

echo 192.168.0.144 mysite.local >> c:\windows\system32\drivers\etc

但控制台显示“访问被拒绝。"

基本上,我的问题是:

  • 如何将 DNS 条目添加到 Windows 容器的主机文件中?

我在用着Docker Desktop version 2.3.0.4(46911),有Engine version 19.03.12 on Windows 10.
我已经使用创建了容器mcr.microsoft.com/windows/servercore:ltsc2019作为Windows基础映像,也尝试过nanoserver:1903.


您可以以管理员身份获取容器的命令 shell 并运行命令:

docker exec --user "NT AUTHORITY\SYSTEM" -it yourcontainername cmd

然后你可以在容器的hosts文件中添加适当的记录:

echo X.X.X.X mysite.local >> c:\windows\system32\drivers\etc\hosts

确保您使用正确的值而不是X.X.X.X,打开主机的hosts文件,你会看到一个DNS条目,例如X.X.X.X host.docker.internal。从容器的角度来看,这是主机的IP。使用上述命令中的 IP 将正确的 DNS 条目添加到容器的主机文件中。要测试结果,您可以使用查看文件的内容type c:\windows\system32\drivers\etc\hosts并使用从该网站获取内容curl mysite.local.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 DNS 条目添加到 Windows 容器的主机文件中? 的相关文章

随机推荐