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

使用Visual Studio 2019运行.NET Core 5 Web API Docker报错求助

解决Docker Desktop异常导致.NET Core 5 Web API无法运行的问题

基础排查步骤

  • 彻底重启Docker Desktop:右键任务栏Docker图标,选择Quit Docker Desktop,完全关闭后重新启动,再尝试运行项目。
  • 确认Docker运行状态:打开Docker Desktop,查看左侧Dashboard是否显示“Running”,若有其他前置错误(如WSL2异常、资源不足),优先处理这些问题。

Windows环境针对性修复

  • 验证WSL2配置:
    1. 以管理员权限打开PowerShell,执行 wsl --list --verbose,查看默认分发版是否为WSL2模式。
    2. 若不是,执行 wsl --set-version <分发版名称> 2(例如wsl --set-version Ubuntu-20.04 2),再设置默认版本:wsl --set-default-version 2。
    3. 重启Docker Desktop,确认Settings > Resources > WSL Integration已启用对应分发版。
  • 重置Docker Desktop:
    打开Docker Desktop的Settings,进入Troubleshoot,点击Reset to factory defaults,重置后重启Docker并重新配置必要设置(如镜像源、WSL集成)。
  • 更新VS2019 Docker工具:
    打开Visual Studio Installer,选择修改当前项目,在“单个组件”中勾选“容器开发工具”,更新完成后重启VS。

项目配置检查

  • 确认Dockerfile兼容性:
    确保使用与.NET Core 5匹配的基础镜像,示例配置如下:
    FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
    WORKDIR /app
    EXPOSE 80
    EXPOSE 443
    
    FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
    WORKDIR /src
    COPY ["YourProjectName.csproj", "."]
    RUN dotnet restore "./YourProjectName.csproj"
    COPY . .
    WORKDIR "/src/."
    RUN dotnet build "YourProjectName.csproj" -c Release -o /app/build
    
    FROM build AS publish
    RUN dotnet publish "YourProjectName.csproj" -c Release -o /app/publish
    
    FROM base AS final
    WORKDIR /app
    COPY --from=publish /app/publish .
    ENTRYPOINT ["dotnet", "YourProjectName.dll"]
    
  • 清理Docker缓存:
    在PowerShell执行 docker system prune -a,清除无用镜像、容器和缓存后,重新构建项目镜像。

系统权限与服务检查

  • 确认文件共享权限:右键Docker Desktop图标,进入Settings > Resources > File Sharing,确保项目所在磁盘已添加到共享列表,且当前用户拥有读写权限。
  • 检查Docker服务状态:打开服务管理器(services.msc),找到Docker Desktop Service,确认其状态为“正在运行”,若未运行则右键启动,并设置启动类型为“自动”。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 19:45:38