macos - os X 上的 Docker .net core 3.0 preview 3 (web api + angular)
问题描述
我正在尝试在 osx 上对 .net core 3.0 (preview 3) web api + angular 应用程序进行 dockerize。
我有以下 Dockerfile。
FROM microsoft/dotnet:3.0-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80
FROM microsoft/dotnet:3.0-sdk AS build
WORKDIR /src
COPY ["./HelloWorldApp.csproj", "."]
RUN dotnet restore "HelloWorldApp.csproj"
COPY . .
RUN dotnet build "HelloWorldApp.csproj" -c Release -o /app
FROM build AS publish
RUN dotnet publish "HelloWorldApp.csproj" -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "HelloWorldApp.dll"]
构建映像时,出现以下错误消息
error CS0246: The type or namespace name 'IWebHostEnvironment' could not be found (are you missing a using directive or an assembly reference?)
注意)如果不使用 docker,应用程序将编译并运行。
(对不起我的英语不好)
有人有想法吗?
谢谢克劳德
解决方案
将您更新Dockerfile
到以下内容应该可以
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-stretch-slim AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/core/sdk:3.0-stretch AS build
WORKDIR /src
COPY ["./HelloWorldApp.csproj", "."]
RUN dotnet restore "HelloWorldApp.csproj"
COPY . .
RUN dotnet build "HelloWorldApp.csproj" -c Release -o /app
FROM build AS publish
RUN dotnet publish "HelloWorldApp.csproj" -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "HelloWorldApp.dll"]
推荐阅读
- java - 使用 Socket IO 重新连接到旧连接
- python - 从 Dataframe 在 Python Docx 中添加表非常慢
- oracle - 动态执行 RAISE 错误时出错
- python - Gedit python插件滚动1行(Ubuntu 20.04)
- c# - 尝试插入具有 1:N 关系的实体时,重复键值违反了 EntityFramework 中的唯一约束“PK_Users”错误
- python - 在语料库中查找包含两个“g”(不一定相邻)的单词
- javascript - 使用在 showFileUpload 之后发送表单的自定义函数进行反应和上传
- android - Android Studio Preview 看起来很模糊
- julia - 如何在 Flux.jl 中进行主动学习?
- typescript - 指定对象中键的类型