我已经创建了一个简单的.NET Core 3.0 Web API。在项目目录中,我有一个如下所示的Dockerfile:
FROM mcr.microsoft.com/dotnet/core/sdk:3.0 AS build-env
WORKDIR /app
# copy over csproj and restore nuget packages
COPY DockerWebApiSandbox.csproj ./
RUN dotnet restore
# copy everything else over into the same directory as the last copy step
# and run the publish step to build and gather output
COPY . ./
RUN dotnet publish -c Release -o output
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "DockerWebApiSandbox.dll"]
从项目的工作目录运行docker build -t dockerwebapisandbox .
时,我发现第9步(共10步)失败(第三个COPY命令):
复制失败:统计 / var / lib / docker / overlay2 / f6f3391827aef74f1dab5716635a9119ae250ae94a216bbc0bc7b47c4030d60a / merged / app / out: 没有这样的文件或目录
在搜索社区对此错误的说法时,我发现了一个建议here。建议中提到要筛选到VM,但鉴于com.docker.driver.amd64-linux/
目录在预期位置不存在,此命令将失败。屏幕命令建议如下:$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
除了尝试上面链接中的建议外,除了Docker Desktop中提供的“恢复出厂设置”选项外,我还尝试了全部卸载Docker和Docker Desktop。
FWIW,我正在运行MacOS Mojave。对于任何有建议的人都可以进行TIA。
答案 0 :(得分:0)
我在Node中遇到了同样的错误。我决心使用
COPY . .