简体   繁体   English

Docker 在构建时跳过项目

[英]Docker skip project on build

I have dockerfile with this config我有这个配置的 dockerfile

FROM mcr.microsoft.com/dotnet/sdk:6.0 as builder

WORKDIR /app
COPY . .

RUN apt-get update;apt-get install curl; apt-get -y install zip

RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

RUN unzip awscliv2.zip

RUN ./aws/install

ENV PATH="${PATH}:/root/.dotnet/tools"

#RUN dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
#
#RUN dotnet codeartifact-creds install
#
#RUN aws codeartifact login --tool dotnet --domain monspire --domain-owner 986853728599  --repository monspire

RUN dotnet restore

RUN dotnet publish -c Release TooSee.Web.Host.csproj

# create the runnable container...
FROM mcr.microsoft.com/dotnet/sdk:6.0

# install dependencies
RUN apt-get update \
    && apt-get install -y --allow-unauthenticated \
        libc6-dev \
        libgdiplus \
        libx11-dev \
     && rm -rf /var/lib/apt/lists/*

WORKDIR /app
COPY --from=builder /app/src/TooSee.Web.Host/bin/Debug/net6.0/publish/ .

ARG ENVIRONMENT
ENV ENVIRONMENT=${ENVIRONMENT}

EXPOSE 80
CMD ["dotnet", "TooSee.Web.Host.dll"]

And try to run it via docker build -t tooseeapi .并尝试通过docker build -t tooseeapi .

But for reasons it skipped .Core project但由于某些原因,它跳过了.Core项目

Here is log这是日志

=> ERROR [builder 9/9] RUN dotnet publish -c Release TooSee.Web.Host.csproj 6.9s => 错误 [builder 9/9] 运行 dotnet publish -c Release TooSee.Web.Host.csproj 6.9s


[builder 9/9] RUN dotnet publish -c Release TooSee.Web.Host.csproj: #15 0.750 Microsoft (R) Build Engine version 17.2.0+41abc5629 for .NET #15 0.750 Copyright (C) Microsoft Corporation. [builder 9/9] 运行 dotnet publish -c Release TooSee.Web.Host.csproj:#15 0.750 Microsoft (R) Build Engine version 17.2.0+41abc5629 for .NET #15 0.750 版权所有 (C) Microsoft Corporation。 All rights reserved.版权所有。 #15 0.750 #15 2.054 Determining projects to restore... #15 2.057 Skipping project "/TooSee.Web.Core/TooSee.Web.Core.csproj" because it was not found. #15 0.750 #15 2.054 确定要恢复的项目... #15 2.057 跳过项目“/TooSee.Web.Core/TooSee.Web.Core.csproj”,因为找不到它。 #15 2.060 Skipping project "/TooSee.Web.Core/TooSee.Web.Core.csproj" because it was not found. #15 2.060 跳过项目“/TooSee.Web.Core/TooSee.Web.Core.csproj”,因为它没有找到。 #15 2.385 All projects are up-to-date for restore. #15 2.385 所有项目都是最新的以进行恢复。 #15 3.150 /usr/share/dotnet/sdk/6.0.302/Microsoft.Common.CurrentVersion.targets(2066,5): warning : The referenced project '../TooSee.Web.Core/TooSee.Web.Core.csproj' does not exist. #15 3.150 /usr/share/dotnet/sdk/6.0.302/Microsoft.Common.CurrentVersion.targets(2066,5):警告:引用的项目'../TooSee.Web.Core/TooSee.Web.Core。 csproj' 不存在。 [/app/TooSee.Web.Host.csproj] [/app/TooSee.Web.Host.csproj]

Dockerfile is under this path - C:\Users\nemes\Documents\GitHub\tooseeapi\src\TooSee.Web.Host Dockerfile 在此路径下 - C:\Users\nemes\Documents\GitHub\tooseeapi\src\TooSee.Web.Host

And .Core is here .Core就在这里

C:\Users\nemes\Documents\GitHub\tooseeapi\src\TooSee.Web.Core

But if I run dotnet publish -c Release TooSee.Web.Host.csproj I got no errors但是如果我运行dotnet publish -c Release TooSee.Web.Host.csproj我没有错误

Why it's skipped and how I can fix this?为什么它被跳过了,我该如何解决这个问题?

you have to keep your docker file at this location您必须将 docker 文件保存在此位置

C:\Users\nemes\Documents\GitHub\tooseeapi\src

and copy both project files separately.并分别复制两个项目文件。 something like就像是

COPY ["TooSee.Web.Host/TooSee.Web.Host.csproj", "./"]
COPY ["TooSee.Web.Core/TooSee.Web.Core.csproj", "./"]

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

相关问题 .Net Core 多项目 docker build - .Net Core multi project docker build 添加项目引用和 nuget 提要时,Docker 构建失败 - Docker build fails when project reference and nuget feed added Docker 在 SPA React with Asp Core 项目中构建失败 - Docker build failed in SPA React with Asp Core Project 在项目 .net 6 使用层中执行 docker 构建时 do.net 还原出错 - Error in dotnet restore in executing a docker build in project .net 6 use layers 未使用 docker 命令构建新的 Asp.Net 核心项目 - New Asp.Net core project not getting build with docker command 在 Azure DevOps 上构建 docker 容器时找不到项目 - Project not found when build docker container on Azure DevOps 每次构建源项目时,如何跳过构建所有引用的项目 - How can I skip building all referenced projects every time when I build my source project 跳过安装项目中的步骤 - Skip a step in Setup Project Asp.Net Core在docker build期间没有看到添加到项目中的文件 - Asp.Net Core not seeing files added to project during docker build Docker dotnetcore api 的构建错误:跳过项目“/MyDotnetCoreLib/MyDotnetCoreLib.csproj”,因为找不到 - Docker Build Error for dotnetcore api: Skipping project “/MyDotnetCoreLib/MyDotnetCoreLib.csproj” because it was not found
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM