Visual Studioの謎のDockerfile

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を持ち上げてるような動きをしてる。で、ためしにもちあげて実行すると普通にビルドが通るんですよね。え~