首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Docker Desktop的.NET Core 3.1 Web API。无需在VS.NET中运行项目即可访问容器

Docker Desktop的.NET Core 3.1 Web API。无需在VS.NET中运行项目即可访问容器
EN

Stack Overflow用户
提问于 2021-04-06 01:08:56
回答 1查看 46关注 0票数 0

我已经创建了一个.net核心web api项目,并在Docker Desktop for Window下成功运行了它。只要我在Visual Studio中运行项目,它就能正常工作。我运行"Docker“配置文件,并使用localhost:8000/访问它。我已将其配置为使用端口8000...

但是,当我停止visual studio调试器时,即使它在Docker Desktop中仍然显示为“正在运行”,我也无法再访问它。如果不在Visual Studio中运行项目,如何访问容器中的服务?

我是这个领域的新手,但是如果已经构建了一个镜像,并且该镜像在容器中运行,我想我将能够访问它,而不需要运行visual studio项目。容器不是“我的镜像的编译、构建、独立实例,在docker主机上运行”吗?

谢谢,布伦特

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-06 04:28:34

容器不是“在docker主机上运行的我的映像的编译、生成和独立实例吗?”是的,你是100%正确的,但在Visual Studio中,他们做了一些性能调整,这样一切都可以运行得非常顺利,而不需要停止和删除容器,更新图像和运行它等任何开销。事实上,在幕后,你的二进制文件和源代码是通过卷映射的,所以没有必要在每次运行应用程序时都构建新的图像等。如果您在Visual Studio创建容器上运行docker inspect,您将能够在JSON输出的"Mounts“部分中看到映射。

我从启用了ASP.NET的模板中创建了一个全新的Docker Core web API应用程序。我注意到容器的生命周期与Visual Studio进程相关联。如果我关闭Visual Studio,容器就会停止并删除,只要我在Visual Studio中用前面提到的项目打开解决方案,容器就会立即启动并运行,即使我还没有开始调试。

如果你想在Visual Studio之外运行一个容器,你总是可以从项目中的Dockerfile构建镜像并运行它。

它可能看起来像这样:

代码语言:javascript
代码运行次数:0
运行
复制
cd "path/with/your/Dockerfile"
docker build -t "your-image-name" .
docker run -it -p 8000:80 -n "your-container-name" "your-image-name"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66956859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档