我正在使用VS2017 docker 支持。 VS为我创建了DockerFile,当我构建docker-compose文件时,它会创建容器并在172.x.x.x IP地址上运行该应用程序。但是我想在本地主机上运行我的应用程序。
我做了很多事情,但没有任何效果。跟随docker docs作为启动器和building microsoft sample app。第二个链接运行正常,但是尝试第一个链接方法时出现HTTP错误404。
任何帮助表示赞赏。
最佳答案
为了访问您在Docker Docs上发布的示例(您指出该示例不起作用),请执行以下步骤,
1-列出所有正在运行的Docker容器
docker ps -a
运行此命令后,如果您正确遵循了docker docs示例,则应该能够查看当前正在运行的所有docker容器,并且应该在其中看到名称为
webserver
的容器。2-获取运行
webserver
容器的IP地址。为此,请运行以下命令。 docker inspect -f "{{ .NetworkSettings.Networks.nat.IPAddress }}" webserver
现在,您应该获取
webserver
容器正在运行的IP地址,希望您熟悉此步骤,因为该步骤甚至在您附带问题的Microsoft示例应用程序示例中也可以使用。运行上述命令后,访问获得的IP地址,您应该会看到所需的输出。
回答您的第一个问题(在Windows的docker中使用localhost访问docker容器)时,由于默认NAT网络堆栈的限制,在Windows主机中,您无法使用localhost访问容器。可以通过访问link获得有关此问题的更详细的说明。似乎Docker文档尚未更新,但此问题仅在Windows主机中存在。
还报告了一个问题-请按照 link 进行操作。
希望这可以帮助你。
编辑
此问题的解决方案似乎将在将来的Windows版本中提供。但是该版本发布后,Windows主机中就提供了此限制。点击此链接-> https://github.com/MicrosoftDocs/Virtualization-Documentation/issues/181
关于docker - 本地主机无法正常工作的docker Windows 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47010047/