Развертывание .NET Core в дроплет через ошибку Dokku: имя этапа выполнения уже используется - PullRequest
0 голосов
/ 16 мая 2019

Я только начал с Digitalocean, Dokku и Docker.Посмотрев немного, я не нашел ничего, что решает эту конкретную ошибку.

Я сталкиваюсь с этой ошибкой при переносе приложения ядра .net в дроплет Digitalocean под управлением Ubuntu 18.04:

remote: Step 8/13 : RUN dotnet publish -c Release -o out
remote:  ---> Running in c6a4c4b610e6
remote: Microsoft (R) Build Engine version 16.0.450+ga8dc7f1d34 for .NET Core
remote: Copyright (C) Microsoft Corporation. All rights reserved.
remote:
remote:   Restore completed in 86.15 ms for /app/aspnetapp/aspnetapp.csproj.
remote:   aspnetapp -> /app/aspnetapp/bin/Release/netcoreapp2.2/aspnetapp.dll
remote:   aspnetapp -> /app/aspnetapp/bin/Release/netcoreapp2.2/aspnetapp.Views.dll
remote:   aspnetapp -> /app/aspnetapp/out/
remote: Removing intermediate container c6a4c4b610e6
remote:  ---> 40a01a03c830
remote: runtime stage name already used
To 159.89.150.200:aspnetapp
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'dokku@159.89.150.200:aspnetapp'

Я удалил докер (удаление системы Docker), и изображения, перечисленные нижекак и ожидалось.

REPOSITORY                          TAG                 IMAGE ID            CREATED             SIZE
<none>                              <none>              3b46c96be3bf        3 minutes ago       1.75GB
mcr.microsoft.com/dotnet/core/sdk   2.2                 f41abe72b459        2 days ago          1.74GB
gliderlabs/herokuish                latest              fa3443ac31b2        2 months ago        1.21GB
gliderlabs/herokuish                v0.5.0              fa3443ac31b2        2 months ago        1.21GB
root@dokku-ubuntu1804-aspnetapp-round2:~#

Я уничтожил целевое приложение (dokku apps: destroy aspnetapp), перевоплотил его (dokku apps: create aspnetapp) и отправил локальное хранилище на сервер.Это не решило проблему.

Я создал новую каплю (с предварительно установленными Dokku и Docker), и проблема не исчезла.

Вот мой Dockerfile:

FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS runtime
WORKDIR /app

# copy csproj and restore as distinct layers
COPY *.sln .
COPY aspnetapp/*.csproj ./aspnetapp/
RUN dotnet restore

# copy everything else and build app
COPY aspnetapp/. ./aspnetapp/
WORKDIR /app/aspnetapp
RUN dotnet publish -c Release -o out

FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS runtime
ENV ASPNETCORE_URLS http://*:5000 #
WORKDIR /app
COPY --from=build /app/aspnetapp/out ./
ENTRYPOINT ["dotnet", "aspnetapp.dll"]

Спасибо!

Ответы [ 2 ]

1 голос
/ 16 мая 2019

Вы можете использовать сокращенную версию, как эта

FROM microsoft/dotnet:2.2-aspnetcore-runtime
0 голосов
/ 16 мая 2019

Я поймал его, когда просматривал опубликованный Dockerfile.

Первая строка должна выглядеть следующим образом: ОТ mcr.microsoft.com/dotnet/core/sdk:2.2 AS build

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...