Dockerfile构建报错:第13行未知指令dotnet求助
Dockerfile解析失败:未知指令
dotnet(第13行RUN命令) 针对你遇到的问题,给出以下排查和解决方向:
修复ENV指令的转义引号问题
你的Dockerfile中ENV CONNECTION_STRING=""这类写法是HTML转义后的双引号,Docker无法正确解析,会干扰后续指令的语法识别。将其改为标准双引号写法:ENV ASPNETCORE_ENVIRONMENT=Development ENV CONNECTION_STRING="" ENV JWT_KEY=""检查换行符格式
Windows系统的CRLF换行符可能导致Docker解析指令出错。将Dockerfile换行符切换为Linux风格的LF:- VS Code右下角可直接切换换行符格式;
- Notepad++通过「编辑」→「文档格式转换」→「转换为UNIX格式」完成。
验证基础镜像完整性
拉取最新的.NET SDK 8.0镜像,避免本地镜像损坏导致dotnet命令缺失:docker pull mcr.microsoft.com/dotnet/sdk:8.0临时运行镜像确认
dotnet命令存在:docker run --rm mcr.microsoft.com/dotnet/sdk:8.0 dotnet --version重新输入RUN指令
建议用纯文本编辑器重新输入RUN行,确保RUN为大写,且dotnet前无多余空格:RUN dotnet publish APIGateway -c Release -o /app/publish/APIGateway
内容的提问来源于stack exchange,提问作者JAKDev
相关产品推荐
相关产品推荐

