You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何发布VS2019构建的带Docker支持的.NET5 API镜像与容器,无需启动VS访问

解决方案

核心原因

你当前运行的mareldockerfoodchain:dev是Visual Studio自动生成的调试专用镜像,并非正式发布版本:

  • VS为了提升调试效率,生成dev镜像时会跳过Dockerfile中的build、publish阶段,容器启动后默认运行远程调试工具,等待VS调试器挂载后才会启动你的API应用,因此关闭VS后应用进程根本没有运行,自然无法访问。
  • 你的Dockerfile存在拼写错误:ENV APSNETCORE_URLS 少了一个N,正确应为ASPNETCORE_URLS,该错误会导致应用端口监听配置不生效。

操作步骤

  1. 清理现有调试容器和镜像,避免干扰
    依次执行以下命令:
# 停止当前运行的调试容器
docker stop Marel.Docker.Foodchain
# 删除该调试容器
docker rm Marel.Docker.Foodchain
# 删除调试专用的dev镜像
docker rmi mareldockerfoodchain:dev
  1. 修正Dockerfile的配置错误
    把Dockerfile base阶段的ENV APSNETCORE_URLS=https://*:900修改为:
ENV ASPNETCORE_URLS=https://*:900
  1. 手动构建正式发布镜像
    打开命令行工具,切换到Dockerfile所在的解决方案根目录,执行构建命令:
docker build -t mareldockerfoodchain:latest .

该命令会完整执行Dockerfile的所有构建阶段,生成不含调试依赖的正式发布镜像。

  1. 用正式镜像启动容器
    执行以下命令启动容器,可自行修改宿主机端口(示例中为9000)避免端口冲突:
docker run -d -p 9000:900 --name foodchain-api mareldockerfoodchain:latest
  1. 验证访问
    直接访问https://localhost:9000(对应你配置的接口路径)即可正常访问,无需启动Visual Studio。

内容的提问来源于stack exchange,提问作者CorrieJanse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 14:24:03