繁体   English   中英

无法构建 docker 容器(ASP.NET Core)

[英]Cannot build docker container (ASP.NET Core)

我有 asp.net 核心解决方案,其中包含 3 个项目。

我想将它部署到 docker 容器。

这是解决方案的样子在此处输入图像描述

这是解决方案树

  TooSeeWeb
 |- aspnet-core(folder)
    |-TooSeeWeb (folder)
      |- TooSeeWeb.sln
      |-Dockerfile
      |- TooSeeWeb
         |- TooSeeWeb.csproj
      |- TooSeeWeb.Core(folder)
         |- TooSeeWeb.Core.csproj
      |- TooSeeWeb.Infrastructure(folder)
         |- TooSeeWeb.Infrastructure.csproj

这是我的 dockerfile

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

# Copy csproj and restore as distinct layers
COPY *.sln ./
COPY TooSeeWeb/*.csproj ./TooSeeWeb/
COPY TooSeeWeb.Core/*.csproj ./TooSeeWeb.Core/
COPY TooSeeWeb.Infrastructure/.*csproj ./TooSeeWeb.Infrastructure/
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/TooSeeWeb
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "tooseeweb.dll"]

我的问题,当我尝试做docker build - < Dockerfile

我收到了这个错误

步骤 3/13:COPY *.sln./ COPY 失败:未指定源文件

我该如何解决这个问题?

当您使用docker build - < Dockerfile时,本地当前目录不是您从中运行命令的目录。

如果你说COPY TooSeeWeb.sln./而不是*.sln ,你可以看到本地目录是什么。 然后错误消息将类似于COPY failed: stat /var/lib/docker/tmp/docker-builder87634958792798/TooSeeWeb.sln: no such file or directory

如果您改为使用docker build. 本地目录将是您从中运行命令的目录,并且您的 COPY 命令应该按预期工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM