我有一个问题建立我的docker形象.请在下面找到我的档案:

#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
USER app
WORKDIR /app
EXPOSE 8080

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["BookWooks.OrderApi/Directory.Packages.props", "BookWooks.OrderApi/"]
COPY ["BookWooks.OrderApi/Directory.Build.props", "BookWooks.OrderApi/"]
COPY ["BookWooks.OrderApi/nuget.config", "BookWooks.OrderApi/"]
COPY ["BookWooks.OrderApi/src/BookWooks.OrderApi.Web/BookWooks.OrderApi.Web.csproj", "BookWooks.OrderApi/src/BookWooks.OrderApi.Web/"]
COPY ["BookWooks.OrderApi/src/BookWooks.OrderApi.Infrastructure/BookWooks.OrderApi.Infrastructure.csproj", "BookWooks.OrderApi/src/BookWooks.OrderApi.Infrastructure/"]
COPY ["BookyWooks.SharedKernel/BookyWooks.SharedKernel.csproj", "BookyWooks.SharedKernel/"]
COPY ["BookWooks.OrderApi/src/BookWooks.OrderApi.Core/BookWooks.OrderApi.Core.csproj", "BookWooks.OrderApi/src/BookWooks.OrderApi.Core/"]
COPY ["BookyWooks.Messaging/BookyWooks.Messaging.csproj", "BookyWooks.Messaging/"]
COPY ["BookWooks.OrderApi/src/BookWooks.OrderApi.UseCases/BookWooks.OrderApi.UseCases.csproj", "BookWooks.OrderApi/src/BookWooks.OrderApi.UseCases/"]
RUN dotnet restore "./BookWooks.OrderApi/src/BookWooks.OrderApi.Web/BookWooks.OrderApi.Web.csproj"
COPY . .
WORKDIR "/src/BookWooks.OrderApi/src/BookWooks.OrderApi.Web"
RUN dotnet build "./BookWooks.OrderApi.Web.csproj" -c $BUILD_CONFIGURATION -o /app/build

# Integration Test Stage
FROM build as integrationtest
WORKDIR "/src/BookyWooks.OrderApi.IntegrationTests"

FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "./BookWooks.OrderApi.Web.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "BookWooks.OrderApi.Web.dll"]

我得到了以下错误:

Step 8/29 : COPY ["BookWooks.OrderApi/Directory.Packages.props", "BookWooks.OrderApi/"]
COPY failed: file not found in build context or excluded by .dockerignore: stat BookWooks.OrderApi/Directory.Packages.props: file does not exist

Here is my project structure: enter image description here enter image description here enter image description here

此文件确实存在并且位于正确的位置.我相信我是在从.net 7升级到.net 8之后才遇到这个问题的. 有人知道是什么造成的吗?

推荐答案

我使用的是:docker build.我从dockerfile所在的文件夹中执行此操作

Dockerfile(至少是我在屏幕截图中找到的那个)位于BookWooks.OrderApi/src/BookWooks.OrderApi.Web内部,所以如果你从那个文件夹构建它,那么docker构建上下文显然没有COPY命令中指定的所有文件夹/文件,所以从docker构建上下文的Angular 来看,"This file does exist and it is in the correct location."声明是不正确的.

将docker文件移动到解决方案的根目录(BookyWooksOnlineStore)并从那里运行它,或者从这个文件夹(BookyWooksOnlineStore)和specify path to the docker file运行命令,如下所示:

docker build -f BookWooks.OrderApi/src/BookWooks.OrderApi.Web/Dockerfile .

.net相关问答推荐

为什么DotNet新的webapi;命令会为我生成不同的文件夹

CLR如何在后台优化布尔比较操作?

如何在 NET 5 / 6 中使用 Direct3D11CaptureFramePool

OpenCV的.Net(dotNet)包装器?

编译错误:显式实现接口时修饰符 'public' 对此项目无效

如何通过 LINQ 比较没有时间的 DateTime?

如何在 C# 中序列化异常对象?

如何在 C# 7 中返回多个值?

Await 运算符只能在 Async 方法中使用

如何根据默认样式创建样式?

检索字典值最佳实践

无法使用 Unity 将依赖项注入 ASP.NET Web API 控制器

有没有像样的 C# 分析器?

覆盖 ASP.NET MVC 中的授权属性

使 HashSet 不区分大小写

如何在安装后立即启动 .NET Windows 服务?

如何在不使用 3rd 方库的情况下登录 C#?

如何判断uri字符串是否有效

System.Array.CopyTo() 和 System.Array.Clone() 之间的区别

WinForms 中的模型视图演示者