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

如何修改调试模式下ASP.NET Core API Docker的运行端口

ASP.NET Core Docker 调试自定义端口设置方法

VS调试Docker托管的.NET应用时自动分配的动态端口由启动配置控制,和Dockerfile中的EXPOSE声明无关,按以下步骤修改即可固定端口:

1. 修改launchSettings.json配置(单容器部署场景)

  • 打开项目Properties目录下的launchSettings.json文件,找到Docker相关的启动配置节点
  • 新增/修改以下配置项,以固定HTTPS端口为5001、HTTP端口为5000为例:
{
  "profiles": {
    "Docker": {
      "commandName": "Docker",
      "launchBrowser": true,
      "launchUrl": "https://localhost:5001/swagger",
      "DockerfileRunArguments": "-p 5000:80 -p 5001:443",
      "environmentVariables": {
        "ASPNETCORE_URLS": "https://+:443;http://+:80"
      },
      "httpPort": 5000,
      "sslPort": 5001,
      "useSSL": true
    }
  }
}
  • DockerfileRunArguments里的-p 宿主机端口:容器端口是端口映射规则,需和下方的httpPort、sslPort值保持一致

2. 修改docker-compose.override.yml配置(Docker Compose部署场景)

如果你用了Docker Compose托管服务,需要修改根目录下的docker-compose.override.yml文件:

services:
  你的项目服务名:
    ports:
      - "5000:80"
      - "5001:443"
    environment:
      - ASPNETCORE_URLS=https://+:443;http://+:80

3. 验证生效

修改完成后,停止当前运行的Docker容器,重启VS调试即可,应用将固定运行在你配置的宿主机端口。

注意:Dockerfile中的EXPOSE仅做端口声明使用,不会影响实际的端口映射规则,只需确保声明的端口和容器内ASPNETCORE_URLS配置的监听端口一致即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:36:04