Запуск службы Windows в контейнере Docker - PullRequest
0 голосов
/ 26 апреля 2018

Я использую Docker для Windows и пытаюсь преобразовать Asp.NET MVC 5 в контейнер. Единственным препятствием на пути является то, что мне нужен работающий сервер состояний ASPNET. Я могу запустить сервис через интерактивный терминал, и он работает просто отлично, но я не могу получить контейнер для автоматического запуска сервиса. Я пытался использовать CMD, ENTRYPOINT и RUN, но из того, что я собрал, некоторые из них будут выполнять команду только во время сборки образа, а не при запуске контейнера.

Мой DOCKERFILE выглядит следующим образом

FROM microsoft/aspnet:4.7.1-windowsservercore-1709
ARG source
WORKDIR /inetpub/wwwroot
COPY ${source:-obj/Docker/publish} .
CMD powershell -Command \
Set-Service aspnet_state automatic; \
Start-Service -name "aspnet_state"; \

EXPOSE 1433

1 Ответ

0 голосов
/ 03 июля 2018

Вместо использования CMD я использовал RUN для фиксации команды в образе и использовал несколько команд RUN:

# Enable Session State Server
RUN powershell -Command Set-Service aspnet_state -startuptype automatic 
RUN powershell -Command Stop-Service aspnet_state
RUN powershell -Command Start-Service aspnet_state 
RUN powershell -Command Set-ItemProperty Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters -Name  AllowRemoteConnection -Value 1 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...