Внутри моего основного контейнера ckan (запускается через start_ckan_development.sh) выполняются следующие процессы CKAN:
Код: Выделить всё
$ ps ax
PID TTY STAT TIME COMMAND
1 ? Ss 0:00 /bin/bash /srv/app/start_ckan_development.sh
74 ? S 0:14 /usr/bin/python3 /usr/bin/supervisord --configuration /etc/supervisord.conf
75 ? S 0:03 /usr/local/bin/python3.10 /usr/local/bin/ckan -c /srv/app/ckan.ini run -H 0.0.0.0
76 ? Sl 0:49 /usr/local/bin/python3.10 /usr/local/bin/ckan -c /srv/app/ckan.ini jobs worker
266 ? Sl 34:57 /usr/local/bin/python3.10 /usr/local/bin/ckan -c /srv/app/ckan.ini run -H 0.0.0.0
16360 pts/0 Ss 0:00 bash
16373 pts/0 R+ 0:00 ps ax
Код: Выделить всё
start_ckan_development.shКод: Выделить всё
...
# Start the development server as the ckan user with automatic reload
while true; do
$CKAN_RUN $CKAN_OPTIONS
echo Exit with status $?. Restarting.
sleep 2
done
Как я могу перезапустить только процессы CKAN, работающие в качестве сервера (т. е. те, с командой /usr/local/bin/ckan -c /srv/app/ckan.ini run...), без перезапуска всего контейнера – и, в идеале, не затрагивая запущенные задания/рабочий процесс?
Я пытался завершить -9 процессы запуска, но сценарий, похоже, просто перезапускает их. Есть ли простой способ запустить перезапуск сервера CKAN (для перезагрузки кода/конфигурации во время разработки) изнутри контейнера, не затрагивая задания/рабочие процессы и не уничтожая весь контейнер?
Контекст:
- образы разработки ckan-docker
- Разработка локальных расширений, часто требующая перезапуска приложения
- Хотите избежать перезапуска docker-compose ckan, чтобы база данных и задания не прерывались
Подробнее здесь: https://stackoverflow.com/questions/798 ... n-docker-d
Мобильная версия