當我嘗試在 docker 中啟動我的 .NET6 應用程式時遇到問題。
它告訴我沒有合適的“主要”功能;但是當我在沒有 docker(使用 Kestrel 服務器)的情況下啟動它時,它可以完美運行。
這是 DockerFile :
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["API.csproj", "API/"]
RUN dotnet restore "API/API.csproj"
COPY . .
WORKDIR "/src/API"
RUN dotnet build "API.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "API.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "API.dll"]
問題出在第 12 行(如果第 12 行正確通過,則可能是第 15 行)
這是回購:https ://gitea.gremy.ovh/gremy.ovh/gremy.ovh.git
如果有人可以幫助我,我不知道問題出在哪里......
uj5u.com熱心網友回復:
我將 Dockerfile 的位置更改為 src 檔案夾。它有效,似乎使用 Docker 創建專案時 Visual Studio 和 Rider 的默認配置沒有按預期作業。
uj5u.com熱心網友回復:
我無法重現您的問題。這是我運行的命令(從一個空目錄)
git clone https://gitea.gremy.ovh/gremy.ovh/gremy.ovh.git
cd gremy.ovh/
git submodule update --init --recursive
cd src/
docker build -t test .
docker run --rm -d -p 8080:80 test
容器構建并運行。我在代碼中看不到任何 API 端點,所以我無法測驗代碼是否有任何作用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/487056.html
