Docker noob在这里…
如何在命令行中正确运行Visual Studio 2017生成的Asp.Net CORE应用程序的docker映像?
docker run -it -d -p 80:32769 myappimage
似乎无法正常工作(图像运行,但是我无法浏览至我的应用程序)
注意:我只是使用默认模板在Studio中创建了一个示例ASP.Net Core Web App,并添加了Docker支持(通过单击“添加Docker支持”复选框)。执行此操作时,Studio会添加一个dockerfile和一些docker- compose文件。
当Visual Studio“运行”图像时(按F5键)-我可以成功浏览到我的应用程序(通过“ http:// localhost:32789 ”或类似的主机端口。容器内的应用程序位于端口80上)。但是我无法弄清楚自己在命令行上运行该命令的方法。
Studio添加到您的项目中的标准Dockerfile是…
FROM microsoft/aspnetcore:1.1 ARG source WORKDIR /app EXPOSE 80 COPY ${source:-obj/Docker/publish} . ENTRYPOINT ["dotnet", "WebApplication2.dll"]
是的,有可能。在“ 发布” 配置中重建您的解决方案,并尝试运行docker- compose项目F5以确保映像已更新并且您的应用程序正常运行。然后执行docker images 控制台命令。您会看到类似以下内容:
docker- compose
F5
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE Your.App latest 673b79a6bb3d About a minute ago 294 MB
您所需要做的就是从该映像运行一个新容器,并将其公开端口映射到本地主机端口。默认情况下,暴露的端口为80(查看Dockerfile)。例如:
80
Dockerfile
docker run -d -p 1234:80 --name some_name Your.App:latest
然后,您的应用应该可以通过访问http://127.0.0.1:1234/。
http://127.0.0.1:1234/
说明:
如果设置了“ 调试” 配置,则Visual Studio将创建 空的 无法使用的图像。它手动将空容器映射到文件系统以进行调试,“编辑并继续”功能等。这就是为什么dev没有Visual Studio图像就无用的原因。在 发布 配置中构建映像以使其可用。
dev
文档中描述了完整的发布过程:适用于Docker的Visual Studio工具
发布Docker映像 完成应用程序的开发和调试周期后,适用于Docker的Visual Studio工具将帮助您创建应用程序的生产映像。将调试下拉列表更改为 Release 并构建应用程序。该工具将生成带有:latest标签的图像,您可以将该标签推送到私有注册表或Docker Hub。
发布Docker映像
完成应用程序的开发和调试周期后,适用于Docker的Visual Studio工具将帮助您创建应用程序的生产映像。将调试下拉列表更改为 Release 并构建应用程序。该工具将生成带有:latest标签的图像,您可以将该标签推送到私有注册表或Docker Hub。
:latest