“使用docker找到在应用程序依赖清单中指定的程序集”

问题描述 投票:0回答:1

我正在尝试使用以下dockerfile将an angular aspnet core 2.2 webapi进行dockerize:

FROM mcr.microsoft.com/dotnet/core/sdk:2.2.105 AS build
WORKDIR /src

# Copy csproj and restore as distinct layers
COPY ["Fightplan_v1/Fightplan_v1.csproj", "Fightplan_v1/"]
COPY ["Fightplan_v1.Autogenerate/Fightplan_v1.Autogenerate.csproj", "Fightplan_v1.Autogenerate/"]
COPY ["Fightplan_v1.Autogenerate.Test/Fightplan_v1.Autogenerate.Test.csproj", "Fightplan_v1.Autogenerate.Test/"]
COPY ["Fightplan_v1.Database/Fightplan_v1.Database.csproj", "Fightplan_v1.Database/"]
COPY ["Fightplan_v1.Helpers/Fightplan_v1.Helpers.csproj", "Fightplan_v1.Helpers/"]
COPY ["Fightplan_v1.Jobs/ConvertImagestoBlob/Fightplan_v1.ConvertImagestoBlob.csproj", "Fightplan_v1.Jobs/ConvertImagestoBlob/"]
COPY ["Fightplan_v1.Models/Fightplan_v1.Models.csproj", "Fightplan_v1.Models/"]
COPY ["Fightplan_v1.Shared/Fightplan_v1.Shared.csproj", "Fightplan_v1.Shared/"]
RUN dotnet restore "Fightplan_v1/Fightplan_v1.csproj"

# Copy everything else and build
COPY . .
WORKDIR "/src/Fightplan_v1"
RUN dotnet build "Fightplan_v1.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "Fightplan_v1.csproj" -c Release -o /app

# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS runtime
WORKDIR /app
COPY --from=build /app .

EXPOSE 80
ENTRYPOINT ["dotnet", "Fightplan_v1.dll"]

使用的构建命令是:

docker build -f .\fp.dockerfile -t test .

构建正常,但是当我尝试使用以下命令运行它时:

docker run -p 5100:80 -it test

我收到以下错误:enter image description here

我尝试过:

  1. -r linux-x64添加到发布的末尾以定义运行时:RUN dotnet publish "Fightplan_v1.csproj" -c Release -o /app -r linux-x64
  2. <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>添加到我的.csproj文件中>
  3. 不幸的是,以上修复程序均无效。

由于这是角度应用程序和webapi的组合项目,所以我可能缺少某些安装/依赖项?

[我正在尝试使用以下dockerfile对一个有角度的aspnet core 2.2 webapi进行docker化:FROM mcr.microsoft.com/dotnet/core/sdk:2.2.105 AS build WORKDIR / src#复制csproj并还原为...] >

docker asp.net-core dockerfile asp.net-core-2.2
1个回答
0
投票

您正在从错误的层复制运行时文件

COPY --from=build /app .
© www.soinside.com 2019 - 2024. All rights reserved.