docker - Docker - 无法构建简单的 dotnet webapi 容器:复制失败:stat /var/lib/docker/overlay2 错误
问题描述
我创建了一个简单的 .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 命令):
复制失败:stat /var/lib/docker/overlay2/f6f3391827aef74f1dab5716635a9119ae250ae94a216bbc0bc7b47c4030d60a/merged/app/out:没有这样的文件或目录
在搜索社区对这个错误的看法时,我在这里找到了一个建议。该建议提到了对 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 对于任何有建议的人。
解决方案
我在 Node.js 中遇到了同样的错误。我正在解决使用
COPY . .
推荐阅读
- c# - 从文件中读取而不阻止它被删除
- python - 如何解决 IndexError:标量变量的索引无效
- vhdl - VHDL输出信号给出UUUUUUU
- java - 找不到自动装配的 Bean,Intellij + Springboot
- sql - ORDER BY 不提供最大数字
- deep-learning - 在评估期间标准化值
- categories - 仪表板中使用的 bc-draggable 元素是否可以绑定到主页大卡特尔上的类别
- python-3.x - 我的 Pandas 数据框列名具有前缀 F1_column_name、F2_column_name.. F12_column_name。我怎样才能删除这些前缀
- c++ - 抛出实例'std :: out_of_range'后调用c ++终止what():basic_string :: substr:__pos> this->size()
- python - 请问有可能将属性设置为 swagger_auto_schema request_body 吗?