docker 安装部署 redis(配置文件启动)
安装 docker
#安装 docker yum install docker -y systemctl start docker.service
获取 redis 镜像
docker search redis docker pull redis:latest docker images ------ 我用的是 redis:3.2
创建容器
创建存放 redis 容器的目录
mkdir /home/docker/redis/
编辑配置文件redis.conf
创建并运行一个名为 myredis 的容器
docker run -p 9093:6379 --name becomredis -v $PWD/redis.conf:/home/azureuser/redis/conf/redis.conf
-v $PWD/data:/home/azureuser/redis/data -d redis:3.2 redis-server /home/azureuser/redis/conf/redis.conf --appendonly yes
疑问:启动以后没有在data目录下看到log文件
查看活跃的容器
# 查看活跃的容器
docker ps
# 如果没有 myredis 说明启动失败 查看错误日志
docker logs myredis
# 查看 myredis 的 ip 挂载 端口映射等信息
docker inspect myredis
# 查看 myredis 的端口映射
docker port myredis
外部访问 redis 容器服务
# redis-cli 访问 docker run -it --link myredis:redis --rm redis redis-cli -h redis -p 6379 # -it 交互的虚拟终端 # --rm 退出是删除此容器
主从配置
新建容器 redis-slave
查看 redis master 的内部 ip
docker inspect redis #Networks 可以得到 redis master 的 ip 地址 修改 redis-slave 的配置文件 # 主地址 slaveof master-ip master-port # 主认证 masterauth
重启 redis-slave
docker restart redis-slave
登录 redis master 使用 info 命令查看从的状态
如果配置不成功记得检查 redis master 的 bind 和 protected-mode 的设置,看下有没有监听内网地址,否则 redis-slave 没办法通过 redis master 的地址做数据同步
参考:https://segmentfault.com/a/1190000014091287#articleHeader4