环境: centos 8.x
背景
使用docker-compose 来启动redis
docker-compose.yml 如下:
version: '3.3'
services:
redis:
image: redis:latest
restart: always
container_name: redis
ports:
- '6379:6379'
volumes:
- ./data:/redis/data
- ./redis.conf:/redis/redis.conf
- ./logs:/redis/logs
command: redis-server /redis/redis.conf
其中, redis.conf是从之前其他机器上拷过来的配置文件,其他机器redis是使用源码编译安装的。
启动:
docker-compose up -d
然后查看docker 进程
docker ps -a
显示redis 服务一直重启。
查看日志:
docker logs 8d9dffe4f3c7
日志为空。
原因
redis.conf 中设置了 daemonize yes
当daemonize 设置了yes,表示redis在后台运行,当执行docker-compose执行启动redis进程时,docker发现自己无事可做,容器自动结束,所以导致redis启动失败。
解决方案
将 redis.conf 中的 daemonize yes
注释/删掉。
然后重新启动。 docker-compose up -d
参考文章
https://blog.csdn.net/zt15732625878/article/details/122401087