获取redis镜像
#查看镜像
docker search redis
#拉取镜像
docker pull redis:6.0 #拉取指定版本或者不加版本号拉取最新版
#查看本地镜像
docker images
创建docker外挂路径
mkdir -p /usr/local/redis/data
到官网下载一个配置文件 redis.conf,配置文件放到/usr/local/redis/redis.conf
以上操作主从服务器都需要执行
修改redis.conf配置文件
- 将 bind 127.0.0.1 使用#注释掉,改为# bind 127.0.0.1(bind配置的是允许连接的ip,默认只允许本机连接;若远程连接需注释掉,或改为0.0.0.0)
- daemonize no修改为:daemonize yes (后台程序方式运行)
- 将 requirepass foobared 注释去掉,foobared为密码,也可修改为别的值(可选,远程连接建议设置),也可以不设置在创建容器中设置。
从库配置文件增加一行 slaveof (masterip:主库ip,masterport:主库port 例:slaveof 127.0.0.1 6379)
如主库设置密码还需要在从库配置文件中增加主库密码
masterauth password
创建容器
主从都要执行
docker run --name redis -p 6379:6379 \
-v /usr/local/redis/redis.conf:/etc/redis/redis.conf \
-v /usr/local/redis/data:/data \
-d --restart=always redis:6.0 redis-server /etc/redis/redis.conf \
--appendonly yes \
--requirepass "123456"
命令 | 描述 |
---|---|
--name redis | 启动容器的名字 |
-p 6379:6379 | 将容器的 6379(后面那个) 端口映射到主机的 6379(前面那个) 端口 |
-v /usr/local/redis/redis.conf:/etc/redis/redis.conf | 容器配置文件外挂宿主机配置文件 |
-v /usr/local/redis/data:/data | 将Redis储存文件夹挂在到主机 |
-d | 后台运行 |
redis:6.0 | 启动哪个版本的 Redis (本地镜像的版本) |
redis-server /etc/redis/redis.conf | 容器中设置 redis-server 启动配置文件 |
redis-server /etc/redis/redis.conf | 容器中设置 redis-server 启动配置文件 |
--restart=always | 打开Redis持久化配置 |
--requirepass "123456" | 设置redis密码 |
查看Redis是否运行
docker ps
#查看日志
docker logs redis
进入Redis容器
# 通过 Docker 命令进入 Redis 容器内部
docker exec -it redis bash
# 进入 Redis 控制台
redis-cli
# 输入密码
> auth 123456
# 添加一个变量为 key 为 name , value 为 bella 的内容
> set name test
# 查看 key 为 name 的 value 值
> get name
# 进入从库服务器redis
> get name
从库可以正常显示主库set的name值,一主一从配置完成。
退出容器
exit