2015-02-06 4 views
1

Я настройка базы данных контейнера с rc.db сценария, которые обеспечивают стандартные инициализации команды, как:остановить базу данных контейнера в докер автоматически

/etc/rc.db start 
/etc/rc.db stop 
/etc/rc.db status 

В Is it possible to install a complex server inside a Docker container?, я знаю, что я мог бы использовать простой скрипт для запуска дБ контейнер (например, имя как /etc/db_run.sh:

#/bin/sh 
/etc/rc.db start 
wait 

И в Dockerfile ... RUN /etc/db_run.sh

Поскольку корректная правильная база данных. Я хочу, чтобы контейнер был остановлен, он мог вызвать остановку /etc/rc.db.

ответ

0

Когда Docker пытается остановить контейнер, он отправляет сигнал SIGTERM, за которым следует SIGKILL после льготного периода. Просто поймайте этот сигнал и вызовите свой сценарий или передайте его на процесс БД, в зависимости от того, что подходит.

Я подозреваю, что если вы сделаете DB основным процессом, работающим на переднем плане, он правильно обработает сигналы.

+0

здесь содержит образец сценария выполнения http://docs.docker.com/reference/builder/#entrypoint –

Смежные вопросы