.net - 这个项目不知道如何运行配置文件 docker
问题描述
我使用 dockerfile 从 git 拉出一个项目,我可以通过命令行构建图像,但视觉工作室说“这个项目不知道如何运行配置文件 docker”我正在使用 vs2019。有什么建议吗?
我已经检查了这个https://stackoverflow.com/a/54485107/1219916但是没有解决我的问题
这是我的码头文件
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-nanoserver-1803 AS base WORKDIR /app EXPOSE 80 EXPOSE 443
FROM mcr.microsoft.com/dotnet/core/sdk:2.2-nanoserver-1803 AS build WORKDIR /src COPY ["WebApi/WebApi.csproj", "WebApi/"] RUN dotnet restore "WebApi/WebApi.csproj" COPY . . WORKDIR "/src/WebApi" RUN dotnet build "WebApi.csproj" -c Release -o /app
FROM build AS publish RUN dotnet publish "WebApi.csproj" -c Release -o /app
FROM base AS final WORKDIR /app COPY --from=publish /app . ENTRYPOINT ["dotnet", "WebApi.dll"]
解决方案
您必须单独获得 dotnet 核心 SDK 和运行时,而不是使用 nanoserver。它将解决您的问题。
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS base WORKDIR /app EXPOSE 80 EXPOSE 443
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build WORKDIR /src COPY ["WebApi/WebApi.csproj", "WebApi/"] RUN dotnet restore "WebApi/WebApi.csproj" COPY . . WORKDIR "/src/WebApi" RUN dotnet build "WebApi.csproj" -c Release -o /app
FROM build AS publish RUN dotnet publish "WebApi.csproj" -c Release -o /app
FROM base AS final WORKDIR /app COPY --from=publish /app . ENTRYPOINT ["dotnet", "WebApi.dll"]
推荐阅读
- security - 在经典 ASP 中将 httponly 标志设置为双参数 cookie
- python - Spark:spark.sql 和 sqlCtx.sql 有什么区别
- python - 使用 Python 在 Anaconda 中缺少解析器库 (lxml)
- java - Java...嵌套循环优化
- sql - SQL Sever 2012+ 返回非字母数字字符,不包括空格
- symfony - 如何自定义学说默认 CRUD 生成器视图
- javascript - JsExceptions 的本质是什么以及如何处理?
- sql-server - 两个日期之间的 SQL,其中日期用整数表示
- delphi - 当节点获得焦点时,哪个选项会影响 TVirtualStringTree 滚动到视图中?
- android - 如何将 Gradle 的外部依赖项存储在我的 Android Studio 项目的 SVN 中?