Почему для Redis в Docker нужно установить daemonize в no? - PullRequest
0 голосов
/ 11 июня 2018

Я запускаю свой Docker-контейнер, как указано ниже cmd, но контейнер не может работать.Когда я изменяю конфиг daemonize yes на daemonize no в redis-6379.conf, это работает!Кто может сказать мне, почему?

➜  ls
6379.log  docker-entrypoint.sh  dump.rdb  redis-6379.conf  
➜  cat redis-6379.conf
port 6379
daemonize yes
logfile "6379.log"
dbfilename "dump-6379.rdb"
dir "/data/"
➜  docker run -p 6379:6379 -v /root/redis-sentinel:/data --name redis-6379 -d redis ./redis-6379.conf
➜  docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

1 Ответ

0 голосов
/ 11 июня 2018

Когда вы демонизируете процесс Redis, последнему процессу exec Docker (тот, который запустил Redis) больше нечего делать, так что процесс завершается, и контейнер сам завершается.

Если вы хотите сохранитьконтейнер вверх, вы можете либо не демонизировать его, либо можете, но вы должны сделать что-то еще, например, позвонить wait, или, более предпочтительно, tail -f журнал redis

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...