I am trying to deploy ASPNETZERO to Digital Ocean but I am getting an error. Here is the docker file on the host folder: #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base WORKDIR /app EXPOSE 80 EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build WORKDIR /src COPY ["src/WebPortal.Web.Host/WebPortal.Web.Host.csproj", "src/WebPortal.Web.Host/"] COPY ["src/WebPortal.Web.Core/WebPortal.Web.Core.csproj", "src/WebPortal.Web.Core/"] COPY ["src/WebPortal.Application/WebPortal.Application.csproj", "src/WebPortal.Application/"] COPY ["src/WebPortal.Application.Shared/WebPortal.Application.Shared.csproj", "src/WebPortal.Application.Shared/"] COPY ["src/WebPortal.Core.Shared/WebPortal.Core.Shared.csproj", "src/WebPortal.Core.Shared/"] COPY ["src/WebPortal.Core/WebPortal.Core.csproj", "src/WebPortal.Core/"] COPY ["src/WebPortal.EntityFrameworkCore/WebPortal.EntityFrameworkCore.csproj", "src/WebPortal.EntityFrameworkCore/"] COPY ["src/WebPortal.GraphQL/WebPortal.GraphQL.csproj", "src/WebPortal.GraphQL/"] RUN dotnet restore "src/WebPortal.Web.Host/WebPortal.Web.Host.csproj" COPY . . WORKDIR "/src/src/WebPortal.Web.Host" RUN dotnet build "WebPortal.Web.Host.csproj" -c Release -o /app/build
FROM build AS publish RUN dotnet publish "WebPortal.Web.Host.csproj" -c Release -o /app/publish
FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "WebPortal.Web.Host.dll"]
Below is the deployment file
[2024-08-20 16:54:33] ╭──────────── git repo clone ───────────╼
[2024-08-20 16:54:33] │ › fetching app source code
[2024-08-20 16:54:33] │ => Selecting branch "master"
[2024-08-20 16:54:36] │ => Checking out commit "4d33feaad8f449c47655b2a179cd75d79dc7b3ef"
[2024-08-20 16:54:37] │
[2024-08-20 16:54:37] │ ✔ cloned repo to /.app_platform_workspace
[2024-08-20 16:54:37] ╰────────────────────────────────────────╼
[2024-08-20 16:54:37]
[2024-08-20 16:54:37] › applying source directory /src/WebPortal.Web.Host
[2024-08-20 16:54:37] ✔ using workspace root /.app_platform_workspace/src/WebPortal.Web.Host
[2024-08-20 16:54:37]
[2024-08-20 16:54:37] ╭──────────── dockerfile build ───────────╼
[2024-08-20 16:54:37] │ › using dockerfile /.app_platform_workspace/Dockerfile
[2024-08-20 16:54:37] │ › using build context /.app_platform_workspace//src/WebPortal.Web.Host
[2024-08-20 16:54:37] │
[2024-08-20 16:54:37] │ INFO[0000] Resolved base name mcr.microsoft.com/dotnet/aspnet:7.0 to base
[2024-08-20 16:54:37] │ INFO[0000] Resolved base name mcr.microsoft.com/dotnet/sdk:7.0 to build
[2024-08-20 16:54:37] │ INFO[0000] Resolved base name build to publish
[2024-08-20 16:54:37] │ INFO[0000] Resolved base name base to final
[2024-08-20 16:54:37] │ INFO[0000] Retrieving image manifest mcr.microsoft.com/dotnet/aspnet:7.0
[2024-08-20 16:54:37] │ INFO[0000] Retrieving image mcr.microsoft.com/dotnet/aspnet:7.0 from registry mcr.microsoft.com
[2024-08-20 16:55:07] │ INFO[0030] Retrieving image manifest mcr.microsoft.com/dotnet/aspnet:7.0
[2024-08-20 16:55:07] │ INFO[0030] Returning cached image manifest
[2024-08-20 16:55:07] │ INFO[0030] Retrieving image manifest mcr.microsoft.com/dotnet/sdk:7.0
[2024-08-20 16:55:07] │ INFO[0030] Retrieving image mcr.microsoft.com/dotnet/sdk:7.0 from registry mcr.microsoft.com
[2024-08-20 16:55:37] │ INFO[0060] Retrieving image manifest mcr.microsoft.com/dotnet/sdk:7.0
[2024-08-20 16:55:37] │ INFO[0060] Returning cached image manifest
[2024-08-20 16:55:37] │ INFO[0060] Built cross stage deps: map[2:[/app/publish]]
[2024-08-20 16:55:37] │ INFO[0060] Retrieving image manifest mcr.microsoft.com/dotnet/aspnet:7.0
[2024-08-20 16:55:37] │ INFO[0060] Returning cached image manifest
[2024-08-20 16:55:37] │ INFO[0060] Retrieving image manifest mcr.microsoft.com/dotnet/aspnet:7.0
[2024-08-20 16:55:37] │ INFO[0060] Returning cached image manifest
[2024-08-20 16:55:37] │ INFO[0060] Executing 0 build triggers
[2024-08-20 16:55:37] │ INFO[0060] Building stage 'mcr.microsoft.com/dotnet/aspnet:7.0' [idx: '0', base-idx: '-1']
[2024-08-20 16:55:37] │ INFO[0060] Cmd: EXPOSE
[2024-08-20 16:55:37] │ INFO[0060] Adding exposed port: 80/tcp
[2024-08-20 16:55:37] │ INFO[0060] Cmd: EXPOSE
[2024-08-20 16:55:37] │ INFO[0060] Adding exposed port: 443/tcp
[2024-08-20 16:55:37] │ INFO[0060] Skipping unpacking as no commands require it.
[2024-08-20 16:55:37] │ INFO[0060] Initializing snapshotter ...
[2024-08-20 16:55:37] │ INFO[0060] Taking snapshot of full filesystem...
[2024-08-20 16:55:37] │ INFO[0060] WORKDIR /app
[2024-08-20 16:55:37] │ INFO[0060] Cmd: workdir
[2024-08-20 16:55:37] │ INFO[0060] Changed working directory to /app
[2024-08-20 16:55:37] │ INFO[0060] Creating directory /app with uid -1 and gid -1
[2024-08-20 16:55:37] │ INFO[0060] Taking snapshot of files...
[2024-08-20 16:55:37] │ INFO[0060] EXPOSE 80
[2024-08-20 16:55:37] │ INFO[0060] Cmd: EXPOSE
[2024-08-20 16:55:37] │ INFO[0060] Adding exposed port: 80/tcp
[2024-08-20 16:55:37] │ INFO[0060] No files changed in this command, skipping snapshotting.
[2024-08-20 16:55:37] │ INFO[0060] EXPOSE 443
[2024-08-20 16:55:37] │ INFO[0060] Cmd: EXPOSE
[2024-08-20 16:55:37] │ INFO[0060] Adding exposed port: 443/tcp
[2024-08-20 16:55:37] │ INFO[0060] No files changed in this command, skipping snapshotting.
[2024-08-20 16:55:37] │ INFO[0060] Storing source image from stage 0 at path /kaniko/stages/0
[2024-08-20 16:55:38] │ INFO[0061] Deleting filesystem...
[2024-08-20 16:55:38] │ INFO[0061] Retrieving image manifest mcr.microsoft.com/dotnet/sdk:7.0
[2024-08-20 16:55:38] │ INFO[0061] Returning cached image manifest
[2024-08-20 16:55:38] │ INFO[0061] Retrieving image manifest mcr.microsoft.com/dotnet/sdk:7.0
[2024-08-20 16:55:38] │ INFO[0061] Returning cached image manifest
[2024-08-20 16:55:38] │ INFO[0061] Executing 0 build triggers
[2024-08-20 16:55:38] │ INFO[0061] Building stage 'mcr.microsoft.com/dotnet/sdk:7.0' [idx: '1', base-idx: '-1']
[2024-08-20 16:55:38] │ error building image: error building stage: failed to optimize instructions: failed to get files used from context: failed to get fileinfo for /.app_platform_workspace/src/WebPortal.Web.Host/src/WebPortal.Web.Host/WebPortal.Web.Host.csproj: lstat /.app_platform_workspace/src/WebPortal.Web.Host/src/WebPortal.Web.Host/WebPortal.Web.Host.csproj: no such file or directory
[2024-08-20 16:55:38] │
[2024-08-20 16:55:38] │ command exited with code 1
[2024-08-20 16:55:38] │
[2024-08-20 16:55:38] │ ✘ build failed
1 Answer(s)
-
0
Hi mmorales
1- Ensure that the paths in the COPY commands match the actual structure of your repository. For instance, if the
WebPortal.Web.Host.csproj
file is actually located in/src/WebPortal.Web.Host/
relative to your repository root, your Dockerfile's COPY command should correctly reflect this.2- If the
.csproj
files are in the correct locations, try adjusting the COPY paths in your Dockerfile as follows:- Removed the
src/
directory from the COPY statements: - Adjusted WORKDIR paths: Changed the WORKDIR from
/src/src/WebPortal.Web.Host
to/src/WebPortal.Web.Host
to align with the correct directory structure during the Docker build.
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base WORKDIR /app EXPOSE 80 EXPOSE 443 FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build WORKDIR /src COPY ["WebPortal.Web.Host/WebPortal.Web.Host.csproj", "WebPortal.Web.Host/"] COPY ["WebPortal.Web.Core/WebPortal.Web.Core.csproj", "WebPortal.Web.Core/"] COPY ["WebPortal.Application/WebPortal.Application.csproj", "WebPortal.Application/"] COPY ["WebPortal.Application.Shared/WebPortal.Application.Shared.csproj", "WebPortal.Application.Shared/"] COPY ["WebPortal.Core.Shared/WebPortal.Core.Shared.csproj", "WebPortal.Core.Shared/"] COPY ["WebPortal.Core/WebPortal.Core.csproj", "WebPortal.Core/"] COPY ["WebPortal.EntityFrameworkCore/WebPortal.EntityFrameworkCore.csproj", "WebPortal.EntityFrameworkCore/"] COPY ["WebPortal.GraphQL/WebPortal.GraphQL.csproj", "WebPortal.GraphQL/"] RUN dotnet restore "WebPortal.Web.Host/WebPortal.Web.Host.csproj" COPY . . WORKDIR "/src/WebPortal.Web.Host" RUN dotnet build "WebPortal.Web.Host.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "WebPortal.Web.Host.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "WebPortal.Web.Host.dll"]
- Removed the