У меня есть приложение ASP. NET Core, которое я пытаюсь развернуть в контейнере docker. У меня есть другой контейнер для разработки, который работает нормально, но я не могу заставить работать рабочую версию.
Имеющийся у меня dockerfile (см. Ниже) основан на одном из здесь приложение прекрасно собирается, но не запускается. Я получаю следующую ошибку:
web_1 | It was not possible to find any installed .NET Core SDKs
web_1 | Did you mean to run .NET Core SDK commands? Install a .NET Core SDK from:
web_1 | https://aka.ms/dotnet-download
После чего контейнер завершается с кодом 145.
Dockerfile.prod:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app
RUN curl -sL https://deb.nodesource.com/setup_13.x | bash -
RUN apt-get install -y nodejs unzip libc6-dev libgdiplus
# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore
# Copy everything else and build
ADD . ./
RUN dotnet publish -c Release -o out
# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
RUN mkdir -p /openld-data/fixture-images
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "openld.dll"]
docker -compose.yml
version: "3.3"
services:
web:
build:
context: .
dockerfile: Dockerfile.prod
ports:
- "5000:5000"
depends_on:
- db
volumes:
- ./:/app
- openld-data:/openld-data
db:
image: "postgres:12.1"
environment:
POSTGRES_DB:
POSTGRES_USER:
POSTGRES_PASSWORD:
ports:
- "5432:5432"
volumes:
- postgres-data:/var/lib/postgresql/data
volumes:
postgres-data:
openld-data:
Я не знаю, почему это не работает, образцы контейнеров ASP. NET делают что-то очень похожее и работают просто отлично. Если кто-нибудь знает, что вызывает это, любая помощь будет принята с благодарностью.