I am getting an error:
=> ERROR [build 2/10] COPY --from=node_base . . 3.1s ------ > [build 2/10] COPY --from=node_base . .: ------ Error failed to fetch an image or build from source: error building: cannot replace to directory /data/docker/overlay2/[alpha-numeric string]/merged/usr/share/doc/perl-base with file
(I have removed the string after /overlay2/ because I am not sure if that is sensitive to my organization)
when trying to build this Dockerfile:
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base WORKDIR /app EXPOSE 80 FROM node:lts AS node_base FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build COPY --from=node_base . . WORKDIR /src # copy csproj and restore as distinct layers COPY *.sln . COPY RazorPagesUI/*.csproj ./RazorPagesUI/ RUN dotnet restore # copy everything else and build app COPY RazorPagesUI/. ./RazorPagesUI/ WORKDIR /src/RazorPagesUI RUN npm ci RUN dotnet build -c Release -o /app/build FROM build as publish RUN dotnet publish -c release -o /app --no-restore # final stage/image FROM base WORKDIR /app COPY --from=publish /app ./ ENV ASPNETCORE_URLS="http://+:8080" ENTRYPOINT ["dotnet", "RazorPagesUI.dll"]
The build works on my local machine, although that is an arch64-linux build since my machine is an M1 Mac.
I would build the image during the GH Action deploy process but fly’s builds are free and I don’t have to deal with a Docker registry so…hopefully I can get this working.