我试图在Windows Server 2019上的构建服务器上构建容器,但它在dotnet恢复步骤中一直失败,并显示消息“The command”/bin/sh -c dotnet restore“...”返回非零代码:4294967295 '.我一直在构建服务器上手动运行这个,同时排除管道中的任何问题,但它仍然失败,并出现相同的错误。
如果有人想知道,我们正在使用Windows容器/构建服务器,因为这是我们IT团队的要求。
我使用的是由Visual Studio生成的dockerfile。当我将Docker Desktop设置为运行Windows容器时,构建在本地工作正常。包括它(我简化了一些文件路径)
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 8000
ENV ASPNETCORE_URLS=http://*:8000
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["Services/myService.API.csproj", "Services/myService.API/"]
COPY ["Services/myService.DAL.csproj", "Services/myService.DAL/"]
COPY ["BuildingBlocks/BuildingBlocks.csproj", "BuildingBlocks/"]
RUN dotnet restore "Services/myService.API.csproj"
COPY . .
WORKDIR "/src/Services/myService.API"
RUN dotnet build "myService.API.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "myService.API.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "myService.API.dll"]
我看到这个错误代码的很多问题似乎与WSL和hyper-v有关,所以我确认两者都安装了,但是由于我们使用的是windows映像,我不确定为什么这里需要它。
有没有人遇到过这个问题,或者有没有人知道是什么原因导致了这个问题?
到目前为止我采取的步骤:
1.最初尝试通过azure devops管道构建容器-构建失败,并显示上述错误消息
1.尝试在服务器上通过powershell手动运行构建-相同错误
1.尝试通过Docker Desktop在我的本地机器上构建镜像-这工作正常
1.已安装WSL并确认Windows容器安装并尝试重新运行-相同错误
1条答案
按热度按时间wqnecbli1#
这个问题现在似乎已经解决了。我们升级到Windows Server 2022并重新安装了docker,现在构建成功了。