NET Core single-file deploying in docker: а какой будет ENTRYPOINT?

Рейтинг: 1Ответов: 0Опубликовано: 19.06.2023

Обычно при публикации NET Core приложения в докер-контейнере происходит примерно следующее:

  1. собираю приложение для целевой платформы, например, командой вида

     dotnet publish --runtime linux-musl-x64 --self-contained true -c Release
    

(Рантайм в этой команде соответсвует сборке для alpain)

  1. Запускаю построение образа командой

     docker build -t demo-image -f Dockerfile .
    

где докерфайл выглядит примерно так:

FROM mcr.microsoft.com/dotnet/aspnet:7.0

COPY publish-output/* /App/

WORKDIR /App

EXPOSE 80

ENTRYPOINT ["dotnet", "Ddemo.dll"]
  1. И потом я запускаю контейнер командой наподобие этой:

     docker run -it --name demo-cont  -p 1080:80 --restart unless-stopped -d demo-image
    

И тут я прочитал ( https://learn.microsoft.com/en-us/dotnet/core/deploying/single-file/overview?tabs=cli ) про публикацию в виде одного файла, когда вместо более 300 файлов в директории publish образуется всего три файла: один огромный с именем Ddemo, и пара json-ов ( appsettings.json и appsettings.Development.json )

Очень красиво. Очень удобно. Очень круто.

Но... здесь возникает ключевой вопрос.

Раньше у меня в папке лежала отдельная DLL-ка, которая и была в докерфайле ENTRYPOINT

(см. последнюю строку докер-файла)

А теперь что я должен стартовать в докер-контейнере? То есть, что мне надо в докерфайле прописать в секции ENTRYPOINT?

Гугление по ключевым словам - не привело к результатам...

Спасибо заранее за подсказки!

Ответы

Ответов пока нет.