всех 🙈
потому что внутри контейнера видимо нету dotnet
1) прописал DockerFile: FROM mcr.microsoft.com/dotnet/runtime:6.0 AS base WORKDIR /app FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build WORKDIR /src COPY ["proj.csproj", "./"] RUN dotnet restore "proj.csproj" COPY . . WORKDIR "/src/" RUN dotnet build "proj.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "proj.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "proj.dll"] 2) пересобрал докер docker build --no-cache -t excalib/aspnetguide . docker run -it -p 5000:80 excalib/aspnetguide Где я допустил ошибку?
ошибка в попытке использования команды dotnet -version (замечу что даже сама команда написана неверно, только с одним минусом, а должно быть два) в контейнере у тебя только рантайм а не сдк, а ты хочешь заюзать cli команду для сдк
в контейнере так же и SDK прописал: FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build возможно нужно указывать точную версию? 6.0 -> 6.0.410
3 строчка, после WorkDIR /app
а ты же понимаешь как работает докерфайл?
Честно говоря второй день только с ним работаю 🙈 тогда вероятно логично было бы поменять местами runtime и sdk?base - sdk?
не надо ничего менять, там все норм, тебе не нужен сдк на продакшн контейнере
На самом деле возможно он и нужен. То почему я здесь это ошибка {"errorMessage":"\"dotnet\": executable file not found in $PATH","errorType":"UserCodeError"} Yandex Serverless Containers использую
это совсем другая ошибка
Обсуждают сегодня