Команда systemctl не работает внутри docker -контейнера - PullRequest
0 голосов
/ 30 марта 2020

Я сделал Docker образ для моего приложения весенней загрузки. Я не могу запустить команду systemctl внутри контейнера Docker. Это то, что я получаю, когда выполняю

systemctl daemon reload: -

Failed to connect to bus: No such file or directory

Шаги, которые я выполнил для создания Docker образа: -

1) docker build --rm -t <IMAGE_NAME> .

2) docker-compose up

3) docker exec -it <CONTAINER_NAME> bash

Когда я запускаю службу, используя: -

service <SERVICE_NAME> start

Я получаю непризнанный сервис. Как выполнить услугу внутри docker?

Ответы [ 2 ]

0 голосов
/ 02 апреля 2020

Если вы хотите повторно использовать существующие дескрипторы службы systemd, вам нужно либо запустить systemd в качестве точки входа, либо вы можете использовать скрипт-обертку, такой как docker -systemctl-replace , который одновременно является диспетчер служб и демон init.

0 голосов
/ 02 апреля 2020

Как прокомментировал Дэвид, вы обычно не используете менеджеры процессов, такие как systemctl в среде docker. Вместо этого вы можете сделать свое приложение основной точкой входа изображения. Более подробную информацию об использовании его с docker можно узнать в https://spring.io/guides/gs/spring-boot-docker/#_containerize_it.

. *

...