[英]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.