Команды для выполнения фонового процесса в Docker CMD
Я создаю изображение докера, используя файл Docker. Я хотел бы выполнить некоторые скрипты при запуске контейнера докеров. В настоящее время у меня есть оболочка script для выполнения всех необходимых процессов
CMD [ "sh", "start.sh" ]
Я хотел бы выполнить команду оболочки с процессом, выполняющимся в фоновом примере
CMD [ "sh", "-c", "mongod --dbpath/test &" ]
Ответы
Ответ 1
Помимо комментариев по вашему вопросу, которые уже указывали на некоторые рекомендации о лучших методах Docker, вы могли бы в любом случае начать фоновый процесс из вашего start.sh
script и сохранить этот start.sh
script сам на переднем плане, используя nohup
и амперсанд (&
). Я не пробовал это с помощью mongod
, но в вашем start.sh
script могло бы работать что-то вроде следующего:
#!/bin/sh
...
nohup sh -c mongod --dbpath /test &
...
Ответ 2
Вот официальный ответ от Докера:
https://docs.docker.com/config/containers/multi-service_container/