1、启动reids 命令
docker run -dit --name redis --privileged=true -p 6479:6379 --restart=always -v /etc/localtime:/etc/localtime -v /data/redis_data/conf/redis.conf:/etc/redis/redis.conf -v /data/redis_data/data:/data redis redis-server /etc/redis/redis.conf --appendonly yes
2、命令解析
- -i 交互式操作
- -t 中断
- -d 指定容器
- -p 6479:6379, 端口映射,前面是主机端口,:后为容器端口
- –name redis, 设置启动容器名称
- -v 挂载目录,:前为主机目录,:后为容器目录
- –appendonly yes 开启redis持久化
3、redis配置文件
- bind 127.0.0.1 限制只能本地访问,放开需要改为 0.0.0.0
- protected-mode no 默认yes,开启保护模式,限制为本地访问
- daemonsize no 默认为no,改为yes就是以守护进程方式启动
- appendonly yes redis持久化
4、启动问题
启动失败时检查redis配置文件 daemonsize 设置,如果是yes会和docker启动冲突;
因为我们的docker run里参数-d就是以守护进程方式启动redis,而配置文件里daemonize yes这个东东再次以守护进程方式启动,而且它会读取pidfile这个配置的文件作为进程ID文件。
修改后重启启动生效,正常启动。