【发布时间】:2021-09-22 09:27:32
【问题描述】:
我从一个使用模块模板的项目开始使用 ABP:
abp new Sample -t 模块 --no-ui
由于我也不熟悉 Docker,所以我一开始并没有在 Docker 上运行,而是继续为应用程序编写代码,一切正常。
现在我有一个正在运行的应用程序,其中包含一些功能,我想让它与 Docker 一起工作,但我遇到了一个问题,即容器启动并立即以代码 1 退出而没有日志。
无法解决问题,然后我从 ABP 模块模板创建了另一个解决方案,当我尝试 docker-compose 甚至 docker run 在项目上单独运行时遇到了同样的问题。
由于 ABP 模块模板中的 docker-compose 文件和 Dockerfile 不是最新的。我做了一些更改,这是我在以下更改后设法构建的 Dockerfile 脚本。
有没有人遇到过同样的问题或知道为什么应用程序容器以 EXITED(1) 退出?
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
WORKDIR /src
COPY ["host/Sample.IdentityServer/Sample.IdentityServer.csproj", "host/Sample.IdentityServer/"]
COPY ["host/Sample.Host.Shared/Sample.Host.Shared.csproj", "host/Sample.Host.Shared/"]
COPY ["src/Sample.Domain.Shared/Sample.Domain.Shared.csproj", "src/Sample.Domain.Shared/"]
COPY ["src/Sample.Application.Contracts/Sample.Application.Contracts.csproj", "src/Sample.Application.Contracts/"]
RUN dotnet restore "host/Sample.IdentityServer/Sample.IdentityServer.csproj" -nowarn:msb3202,nu1503
COPY . .
WORKDIR /src/host/Sample.IdentityServer
RUN dotnet build --no-restore -c Release -o /app
FROM build AS publish
RUN dotnet publish --no-restore -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "Sample.IdentityServer.dll"]
【问题讨论】:
-
看来为容器化创建的文件似乎已经过时了,我为它开了一个issue => github.com/abpframework/abp/issues/10103
-
感谢 berkansasmaz。关于我面临的关于为什么 exited(1) 发生的问题有什么想法吗?
-
不幸的是,我不知道:(