一尘不染

如何运行VS 2017生成的Docker映像

docker

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"]

阅读 289

收藏
2020-06-17

共1个答案

一尘不染

是的,有可能。在“ 发布” 配置中重建您的解决方案,并尝试运行docker- compose项目F5以确保映像已更新并且您的应用程序正常运行。然后执行docker images
控制台命令。您会看到类似以下内容:

REPOSITORY   TAG      IMAGE ID       CREATED              SIZE
Your.App     latest   673b79a6bb3d   About a minute ago   294 MB

您所需要做的就是从该映像运行一个新容器,并将其公开端口映射到本地主机端口。默认情况下,暴露的端口为80(查看Dockerfile)。例如:

docker run -d -p 1234:80 --name some_name Your.App:latest

然后,您的应用应该可以通过访问http://127.0.0.1:1234/

说明:

如果设置了“ 调试” 配置,则Visual Studio将创建 空的
无法使用的图像。它手动将空容器映射到文件系统以进行调试,“编辑并继续”功能等。这就是为什么dev没有Visual Studio图像就无用的原因。在
发布 配置中构建映像以使其可用。

文档中描述了完整的发布过程:适用于Docker的Visual Studio工具

发布Docker映像

完成应用程序的开发和调试周期后,适用于Docker的Visual Studio工具将帮助您创建应用程序的生产映像。将调试下拉列表更改为
Release 并构建应用程序。该工具将生成带有:latest标签的图像,您可以将该标签推送到私有注册表或Docker Hub。

2020-06-17