环境: 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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐