无法建立Docker容器(ASP.NET Core)

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

我想将其部署到docker容器中。

这里是解决方案的样子

无法建立Docker容器(ASP.NET Core)

这是解决之树

  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失败:未指定源文件

我该如何解决?

xzxw123 回答:无法建立Docker容器(ASP.NET Core)

使用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命令应该可以正常工作。

本文链接:https://www.f2er.com/3153899.html

大家都在问