docker - dotnet core 2.2应用程序DockerFile COPY失败/over2/

标签 docker .net-core

我的dotnet core 2.2应用程序具有以下结构(非常标准):

- .sln
- DockerFile
- MyApp/
  |- *.csproj

我的DockerFile是这样的:
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build-env
WORKDIR /app

# Copy csproj and restore as distinct layers
COPY ./MyApp/*.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "MyApp.dll"]

我总是收到此错误:
Step 9/10 : COPY --from=build-env /app/out .
ERROR: Service 'myapp' failed to build: COPY failed: stat /var/lib/docker/overlay2/ed30d6e8a88b5d65bb14a5e972428135a78701c860f510d4dcc3e5c4947916d3/merged/app/out: no such file or directory

我在网上浏览,只能找到有关重置Docker数据的建议,但我尝试没有获得任何成功。

我正在使用docker build .存储库中的命令DockerFile进行构建。

我的DockerFile是否缺少某些内容?您有什么线索可以帮助我解决吗?

最佳答案

我有类似的dockerfile。但我的输出是/out并从/out复制

FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build-env
WORKDIR /app

# Copy csproj and restore as distinct layers
COPY ./MyApp/*.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o /out

# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
WORKDIR /app
COPY --from=build-env /out .
ENTRYPOINT ["dotnet", "MyApp.dll"]

关于docker - dotnet core 2.2应用程序DockerFile COPY失败/over2/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59242982/

相关文章:

scala - 如何在 Dockerfile 中为 sbt 插件添加自定义命令

docker - 管理Docker镜像的层次结构

git - Docker是否替代了git源代码控制?

asp.net-core - 如何获取类库中的连接字符串?

.net - ".NET Core"是什么?

c# - ffmpeg 抛出 System.AccessViolationException

linux - Linux上的.net Core独立服务器

c# - 如何为.NET Core项目指定程序集版本?

docker - 如何使用 dockerfiles CMD 运行 shell 脚本

docker - 在与其他阶段相关的同级容器中使用文件夹