【发布时间】:2020-12-14 14:55:32
【问题描述】:
我在微服务环境中工作,这些微服务之间存在共享库。
这些库存储在磁盘上的不同位置,即“共享”位置,并被这些微服务直接引用。
在此类微服务的 .csproj 中,您会看到类似这样的内容。
<ItemGroup>
<ProjectReference Include="..\..\..\Shared1.csproj" />
<ItemGropu>
现在在每个微服务中我都有一个 dockerfile
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY . .
COPY ../../../Users/boris/Desktop/shared/Shared/Shared/Shared.csproj .
RUN dotnet restore "WebUi.csproj"
WORKDIR /src/.
RUN dotnet build "WebUi.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "WebUi.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
RUN ls
ENTRYPOINT ["dotnet", "WebUi.dll"]
构建图像时
docker build -f dockerfile .
我来了
错误 [build 4/7] COPY ..\..\..\Users\boris\Desktop\shared\Shared\Shared\Shared.csproj .
[构建 4/7] 复制 ......\Users\boris\Desktop\shared\Shared\Shared\Shared.csproj .: 无法使用前端 dockerfile.v0 解决:无法构建 LLB: 无法计算缓存键: "/..\..\..\Users\boris\Desktop\shared\Shared\Shared\Shared.csproj" 未找到:未找到 PS C:.demos\hangfire-dashboard\WebUi> docker 构建 -f .\dockerfile -t web 。 [+] 构建 0.2s (10/18)
我认为这是因为构建上下文,但不确定。
关于如何解决此问题的任何想法?
【问题讨论】:
-
看起来您的 dockerfile 无法解析路径
..\..\..\Users\boris\Desktop\shared\Shared\Shared\Shared.csproj。您可以运行单阶段构建进行测试,然后将所有内容组合成多阶段构建。
标签: docker dockerfile