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

为什么Docker中运行.NET Core时路径会自动添加'/app/'前缀?

路径自动追加/app/前缀的原因分析

核心根因

路径格式与容器运行的操作系统规则不匹配,被系统判定为相对路径后自动拼接了当前工作目录,是该问题的核心触发原因。
你代码中定义的\\XXX.XXX.XXX.XXX\XXX\XXX\XXX\X.xml是Windows系统专属的SMB共享UNC路径格式,仅能在Windows环境下被识别为指向远程服务器的绝对路径。

具体触发逻辑

  • 本地脱离Docker运行时环境为Windows,系统可以正确识别\\开头的UNC路径为绝对共享路径,不会执行相对路径拼接逻辑。
  • Docker容器使用了Linux类型的.NET基础镜像:Linux系统没有UNC路径的语法规则,所有不以/开头的路径都会被判定为相对路径,默认会和当前进程的工作目录拼接。微软官方发布的.NET Linux基础镜像默认设置的工作目录就是/app,所以最终拼接成了你观测到的/app/\\XXX.XXX.XXX.XXX\XXX\XXX\XXX\X.xml错误路径。

次要排查方向(仅针对Windows容器场景)

如果确认你使用的是Windows容器仍出现该问题,可检查两项配置:

  • 容器的工作目录是否被显式设置为/app,路径识别失败后触发相对路径拼接
  • 容器未配置SMB共享访问权限,系统识别UNC路径失败后降级为相对路径处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 07:36:03