@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 - выдает тьму ошибок.
  • Вопрос задан
  • 807 просмотров
Решения вопроса 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'а, нужны в контейнере еще какие-то сервисы - вы что-то делаете не так, вам нужно несколько контейнеров, по одному на сервис.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
HRlab Москва
от 100 000 до 230 000 ₽
TopSelection Санкт-Петербург
от 300 000 до 350 000 ₽
06 авг. 2020, в 19:21
5000 руб./за проект
06 авг. 2020, в 18:45
700 руб./в час
06 авг. 2020, в 17:58
8000 руб./за проект