我是 docker 和 windows 容器世界的新手。我正在使用带有 SQL Server 2016 后端的 ASP.NET Core 2.0 创建示例应用程序。我能够直接在 Windows Server 2016 VM 上成功运行该应用程序。接下来,我使用 Docker EE Windows Container 将其容器化。我启动了容器并能够从 Windows Server 2016 VM 主机浏览应用程序。
这就是我构建和启动容器的方式,请假设我已经创建了具有适当值的 .dockerfile。
docker build -t testapi .
docker run -d --name testapi_app --rm -it -p 8000:80 testapi
当我跑
docker network ls
我明白了
NETWORK ID NAME DRIVER SCOPE
38c9f8e165bf nat nat local
f97c096a0ef6 none null local
当我运行以下命令时(02f4 是容器 ID 的前 4 个字符)
docker exec 02f4 ipconfig
我可以看到 IPv4 地址为 172.25.5.26
我可以使用http://172.25.5.26/api/values从主机 windows server 2016 VM 浏览应用程序
我得到了回复。
如果有人可以向我指出一些资源,我将非常感激这些资源可以帮助我如何使用 Windows Server 2016 VM 主机上的 docker EE 使托管在 Windows 容器中的应用程序可以从主机 VM 外部浏览。
我觉得我可能必须更改一些网络选项,但不确定我必须更改什么。
任何帮助将不胜感激。