FROM mcr.microsoft.com/dotnet/core/runtime:2.2-stretch-slim AS base WORKDIR /app FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build WORKDIR /src COPY ["hoge-server/hoge-server.csproj", "hoge-server/"] RUN dotnet restore "hoge-server/hoge-server.csproj" COPY . . WORKDIR "/src/hoge-server" RUN dotnet build "hoge-server.csproj" -c Release -o /app FROM build AS publish RUN dotnet publish "hoge-server.csproj" -c Release -o /app FROM base AS final WORKDIR /app COPY --from=publish /app . ENTRYPOINT ["dotnet", "hoge-server.dll"]
こんなファイルなんですけど、これを普通にたたくとバグるんですよね。
Step 7/17 : COPY ["hoge-server/hoge-server.csproj", "hoge-server/"] ERROR: Service 'hoge-server' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder655807069/hoge-server/hoge-server.csproj: no such file or directory
あたりまえだけどファイルの指定位置がおかしい。Dockerfileがhoge-serverディレクトリの中にあるのに、hoge-serverディレクトリの中を見に行くみたいなことになってるんですよね。一旦上のディレクトリにDockerfileを持ち上げてるような動きをしてる。で、ためしにもちあげて実行すると普通にビルドが通るんですよね。え~