dotnet核心容器未在kubernetes中启动,并显示错误“退回重新启动失败的容器”
在向项目添加其他引用之后,总是会发生这种情况。
kubectl日志容器不产生任何日志。
当我将图像拖到本地并通过运行时
docker run -it app:latest . -p 80:80
在命令行中它将退出而不会引发任何错误。尝试添加详细的日志,并且不会引发任何错误。
从Visual Studio启动时尝试了ubuntu图像,它也运行良好。在本地编译可以很好地运行,并且通过Visual Studio运行docker可以很好地构建映像。
也尝试使用--no-cache
标志进行构建,但未成功
如果不在docker容器中运行它,没有问题。恢复,构建或发布步骤没有错误。
在AKS 1.14.6上运行
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-alpine AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/core/sdk:2.2-alpine AS build
WORKDIR /src
COPY ["Company.Reference.ApplicationHub/Company.Reference.ApplicationHub.csproj", "Company.Reference.ApplicationHub/"]
COPY ["Core/Providers/Company.Reference.DeliveryPlanner.Provider/Company.Reference.DeliveryPlanner.Provider.csproj", "Core/Providers/Company.Reference.DeliveryPlanner.Provider/"]
COPY ["Core/Providers/Company.Reference.Ups/Company.Reference.Ups.csproj", "Core/Providers/Company.Reference.Ups/"]
COPY ["Common/Company.Reference.Common/Company.Reference.Common.csproj", "Common/Company.Reference.Common/"]
COPY ["Core/Providers/Company.Reference.Tracking.Provider/Company.Reference.Tracking.Provider.csproj", "Core/Providers/Company.Reference.Tracking.Provider/"]
COPY ["Core/Providers/Company.Reference.Authentication.Provider/Company.Reference.Authentication.Provider.csproj", "Core/Providers/Company.Reference.Authentication.Provider/"]
COPY ["Core/Providers/Company.Reference.Locator.Provider/LocatorProvider/Company.Reference.Locator.Provider.csproj", "Core/Providers/Company.Reference.Locator.Provider/LocatorProvider/"]
COPY ["Core/Providers/Company.Reference.Geolocate.Provider/Company.Reference.Geolocate.Provider.csproj", "Core/Providers/Company.Reference.Geolocate.Provider/"]
COPY ["Core/Repository/Company.Reference.Repository/Company.Reference.Repository.csproj", "Core/Repository/Company.Reference.Repository/"]
COPY ["Core/Providers/Company.Reference.MyChoice.Provider/Company.Reference.MyChoice.Provider.csproj", "Core/Providers/Company.Reference.MyChoice.Provider/"]
COPY ["Core/Company.Reference.Infrastructure/Company.Reference.Infrastructure.csproj", "Core/Company.Reference.Infrastructure/"]
COPY ["Core/Providers/Company.Reference.EligibilityOptions.Provider/Company.Reference.EligibilityOptions.Provider.csproj", "Core/Providers/Company.Reference.EligibilityOptions.Provider/"]
RUN dotnet restore "Company.Reference.ApplicationHub/Company.Reference.ApplicationHub.csproj"
COPY . .
WORKDIR "/src/Company.Reference.ApplicationHub"
RUN dotnet build "Company.Reference.ApplicationHub.csproj" -c Release -o /app -v diag
FROM build AS publish
RUN dotnet publish "Company.Reference.ApplicationHub.csproj" -c Release -o /app -v diag
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "/app/Company.Reference.ApplicationHub.dll"]
在添加其他引用之前,它可以正常运行。可能是因为在某处缓存了吗?
答案 0 :(得分:0)
您确定从docker运行与Kubernetes相同的映像吗? “因为一旦构建了映像,内容(以及您的依存关系)就不会受到影响。
尝试使用其他标签重建图像(永远不要使用“ latest”):
docker build . -t app:v1
然后使用app:v1
作为Kubernetes中的图片