在Windows上的Docker不支持COPY – 从?
我正在尝试使用这个Docker构造:
可选地,通过将AS名称添加到FROM指令,可以将名称赋予新的构build阶段。 这个名字可以在后面的FROM和COPY中使用–from =指令来引用这个阶段的图片。
但是我收到这个消息:
COPY failed: stat /var/lib/docker/tmp/docker-builder869050639/-–from=build-env: no such file or directory
复制Docker for Windows 17.09.0-ce-win33(13620)支持的前一阶段的文件? 这是Dockerfile:
FROM microsoft/dotnet:2.0-sdk AS build-env WORKDIR /app COPY ./ ./ RUN dotnet build ProviderApi.csproj RUN dotnet publish ProviderApi.csproj -c Release -r linux-x64 -o out FROM microsoft/dotnet:2.0-runtime-deps WORKDIR /app COPY -–from=build-env /app/out/ ./ EXPOSE 80 ENTRYPOINT ["./ProviderApi"]
你用小写“as”试过了吗? (看起来像是一个长镜头,我看周围的例子)
FROM microsoft/dotnet:2.0-sdk as build-env
或者更基本
FROM microsoft/dotnet:2.0-sdk COPY -–from=0 /app/out/ ./
问题在于最终构build阶段的docker镜像中没有目标目录。 这是工作的Dockerfile供将来参考。
FROM microsoft/aspnetcore-build:2.0.3-stretch AS build-env WORKDIR /app COPY . ./ RUN dotnet build ProviderApi.csproj RUN dotnet publish ProviderApi.csproj -c Release -r linux-x64 -o out FROM microsoft/aspnetcore:2.0.3-stretch RUN mkdir /app COPY --from=build-env /app/out /app ENV ASPNETCORE_URLS=http://+:5001 EXPOSE 5001 ENTRYPOINT ["/app/ProviderApi"]