Redis 6.0.20
1、Docker安装Redis
1、查询搜索Redis镜像
docker search redis
2、安装Redis: 默认拉取最新版本redis
docker pull redis:6.0.20
3、查看镜像
docker images
2、新建本地挂载配置文件夹(位置随意)
1、 创建文件夹(位置随意):data、conf
创建redis的位置
mkdir -p /usr/local/docker/redis
redis 默认配置只能够本地连接、不能进行远程访问
需要手动挂载 redis 配置文件。
Linux 下redis的data文件位置 :
mkdir -p /usr/local/docker/redis/data
Linux 下conf文件位置:
mkdir -p /usr/local/docker/redis/conf
2、新增配置文件:redis.conf
redis 配置文件挂载:以配置文件方式启动redis 容器
挂载:将宿主的文件和容器内部目录相关联、相互绑定、
在宿主机内修改文件的话也随之修改容器内部文件
Linux下redis.conf文件位置:
touch /usr/local/docker/redis/conf/redis.conf
3、Docker启动
创建/启动Redis容器(创建镜像实例),执行命令:
docker run \
-p 6379:6379 --name redis \
-v /usr/local/docker/redis/data:/data \
-v /usr/local/docker/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /usr/local/docker/redis/log/redis.log:/log/redis.log \
-d redis:6.0.20 redis-server /etc/redis/redis.conf
| 命令 | 描述 |
|---|---|
| –name redis | 启动容器的名字 |
| -d | 后台运行 |
| -p 6379:6379 | 将容器的 6379(后面那个) 端口映射到主机的 6379(前面那个) 端口 |
| –restart unless-stopped | 容器重启策略 |
| -v /usr/local/docker/redis/data:/data | 将Redis储存文件夹挂在到主机 |
| -v /usr/local/docker/redis/conf/redis.conf:/etc/redis/redis.conf | 将配置文件夹挂在到主机 |
| -v /usr/local/docker/redis/log/redis.log:/log/redis.log | 将日志挂在到主机上 |
| -d redis:bullseye | 启动哪个版本的 Redis (本地镜像的版本) |
| redis-server /etc/redis/redis.conf | Redis 容器中设置 redis-server 每次启动读取 /etc/redis/redis.conf 这个配置为准 |
| --appendonly yes | 在Redis容器启动redis-server服务器并打开Redis持久化配置 |
| \ | shell 命令换行 |
命令中所有 冒号 前面的是主机配置 , 冒号 后面的是redis容器配置 。
设置Redis启动容器自启
docker update --restart=always 容器id
重启Docker容器
systemctl restart docker
4、连接redis
1.名称连接:
交互模式进入容器时即可连接redis客户端
docker exec -it redis redis-cli
2.容器ID连接:
docker exec -it 容器id redis-cli
3. 如歌设置了密码,先进入容器、再手动连接redis客户端
1)交互模式进入redis容器
docker exec -it redis(容器名称) /bin/bash
2)redis-cli 连接redis客户端
redis-cli 或 redis-cli -h 127.0.0.1 -p 6379 -a 密码
5、修改Redis配置文件
- 进入容器
docker exec -it redis /bin/bash - 进入配置文件目录 cd /etc/redis
- 打开配置文件 vim redis.conf
此时可能会有报错
找不到此命令
vim,因为没有安装vim
需要安装vim
apt-get update
apt-get install vim
- 添加配置文件
| 命令 | 功能 |
|---|---|
| appendonly yes | 启动Redis持久化功能 (默认 no , 所有信息都存储在内存 [重启丢失] 。 设置为 yes , 将存储在硬盘 [重启还在]) |
| protected-mode no | 关闭protected-mode模式,此时外部网络可以直接访问 (docker貌似自动开启了) |
| bind 0.0.0.0 | 设置所有IP都可以访问 (docker貌似自动开启了),可以写多个,例:bind 127.0.0.1 127.0.0.2 |
| requirepass 密码 | 设置密码 |
6、 设置容器重启启动
设置开机自启
docker update --restart=always 容器id
重启docker
systemctl restart docker