如何将 DNS 条目添加到 Windows 容器的主机文件?
How can I add DNS entries to hosts file of a Windows Container?
我在主机的 IIS 中有一个网站,可通过 http://mysite.local 地址访问。我在这台主机上也有一个 windows 容器 运行ning,我正在尝试使用“curl http://[=35=”从我的 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)
,在 Windows 10
上有 Engine version 19.03.12
。
我已经使用 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
,请打开主机的主机文件,您将看到一个 DNS 条目,如 X.X.X.X host.docker.internal
。从容器的角度来看,这是主机的 IP。在上面的命令中使用该 IP 将正确的 DNS 条目添加到容器的主机文件中。要测试结果,您可以使用 type c:\windows\system32\drivers\etc\hosts
查看文件的内容,并使用 curl mysite.local
.
从该网站获取内容
我在主机的 IIS 中有一个网站,可通过 http://mysite.local 地址访问。我在这台主机上也有一个 windows 容器 运行ning,我正在尝试使用“curl http://[=35=”从我的 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)
,在 Windows 10
上有 Engine version 19.03.12
。
我已经使用 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
,请打开主机的主机文件,您将看到一个 DNS 条目,如 X.X.X.X host.docker.internal
。从容器的角度来看,这是主机的 IP。在上面的命令中使用该 IP 将正确的 DNS 条目添加到容器的主机文件中。要测试结果,您可以使用 type c:\windows\system32\drivers\etc\hosts
查看文件的内容,并使用 curl mysite.local
.