Задать вопрос
@pcdesign

Как стартовать (и автостартовать) сервисы внутри контейнера с Centos7?

Создал я новый контейнер с Centos7:
docker run --name centos_container -t -i centos

Зашел в него.
Ну и для примера, поставил nginx.
И пытаюсь его запустить:
[root@b29b8c074df9 /]# service nginx start
bash: service: command not found
[root@b29b8c074df9 /]#


Как быть?

P.S.: yum install systemd - выдает тьму ошибок.
  • Вопрос задан
  • 2338 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@pcdesign Автор вопроса
Если нельзя, но очень сильно хочется:

docker pull milcom/centos7-systemd
docker run --name my_container_systemd -v /sys/fs/cgroup:/sys/fs/cgroup  -t -i milcom/centos7-systemd


И запускаем:
docker exec -it my_container_systemd bash
Ну и все.
Получается контейнер с centos, в котором есть systemd.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
index0h
@index0h
PHP, Golang. https://github.com/index0h
Что на счет supervisorctl?
Ответ написан
MintTea
@MintTea
Как стартовать (и автостартовать) сервисы внутри контейнера с Centos7?

По-разному, зависит от сервиса. Конкретно в вашем случае, вам надо конфиге nginx'а выключить демонизацию:

daemon off;

И добавить в Dockerfile команду, которую надо запустить при старте контейнера:

CMD ["nginx"]

Если вам, кроме nginx'а, нужны в контейнере еще какие-то сервисы - вы что-то делаете не так, вам нужно несколько контейнеров, по одному на сервис.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы