为什么Docker中的Redis需要将daemonize设置为no?

时间:2018-06-11 03:32:10

标签: docker redis

我在dbd下面运行我的Docker容器,但容器无法正常工作。当我在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 :(得分:2)

当你妖魔化Redis进程时,最终的Docker exec进程(启动Redis的进程)没有什么可做的,所以进程退出,容器自行结束。

如果你想保持容器,你可以不妖魔化它,或者你可以,但你必须做一些其他的事情,比如打电话tail -f,或者更好的是,- (void)layoutSubviews { [super layoutSubviews]; CGRect barFrame = CGRectInset(self.searchBar.frame, 10.0f, 10.0f); self.searchBar.frame = barFrame; } redis记录< / p>