我在使用 docker 配置我的服务时遇到问题。我使用 VS 2022 通过模板“ASP.NET Core Web API”创建我的服务器。我在解决方案中添加了两个库,它们通过引用连接到主项目。然后我使用docker插件生成“dockerfile”,我得到了这样的东西。
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["AVM.Core.csproj", "."]
COPY ["../AVM.Domain/AVM.Domain.csproj", "../AVM.Domain/"]
COPY ["../AVM.Repository/AVM.Repository.csproj", "../AVM.Repository/"]
RUN dotnet restore "./AVM.Core.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "AVM.Core.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "AVM.Core.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "AVM.Core.dll"]
我使用示例 .dockerignore
**/.classpath
**/.dockerignore
**/.env
**/.git
**/.gitignore
**/.project
**/.settings
**/.toolstarget
**/.vs
**/.vscode
**/*.*proj.user
**/*.dbmdl
**/*.jfm
**/azds.yaml
**/bin
**/charts
**/docker-compose*
**/Dockerfile*
**/node_modules
**/npm-debug.log
**/obj
**/secrets.dev.yaml
**/values.dev.yaml
LICENSE
README.md
当我尝试使用命令docker build -t avmcore构建我的图像时,出现这样的错误
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 818B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 34B 0.0s
=> [internal] load metadata for mcr.microsoft.com/dotnet/sdk:6.0 0.1s
=> [internal] load metadata for mcr.microsoft.com/dotnet/aspnet:6.0 0.1s
=> [base 1/2] FROM mcr.microsoft.com/dotnet/aspnet:6.0@sha256:84fc4202a1f38fd440b718aeeb4e8cfe046e9f19ef977a28c0 0.0s
=> => resolve mcr.microsoft.com/dotnet/aspnet:6.0@sha256:84fc4202a1f38fd440b718aeeb4e8cfe046e9f19ef977a28c01827d 0.0s
=> [internal] load build context 0.6s
=> => transferring context: 17.69MB 0.6s
=> [build 1/9] FROM mcr.microsoft.com/dotnet/sdk:6.0@sha256:76dbd63a33da6510787e97c0943c4c4a2136936ce360cf925386 0.0s
=> CACHED [base 2/2] WORKDIR /app 0.0s
=> CACHED [final 1/2] WORKDIR /app 0.0s
=> CACHED [build 2/9] WORKDIR /src 0.0s
=> CACHED [build 3/9] COPY [AVM.Core.csproj, .] 0.0s
=> ERROR [build 4/9] COPY [../AVM.Domain/AVM.Domain.csproj, ../AVM.Domain/] 0.0s
=> ERROR [build 5/9] COPY [../AVM.Repository/AVM.Repository.csproj, ../AVM.Repository/] 0.0s
------
> [build 4/9] COPY [../AVM.Domain/AVM.Domain.csproj, ../AVM.Domain/]:
------
------
> [build 5/9] COPY [../AVM.Repository/AVM.Repository.csproj, ../AVM.Repository/]:
------
failed to compute cache key: "/AVM.Domain/AVM.Domain.csproj" not found: not found
谢谢大家的回答。