Linux Docker 安装 Redis

333 阅读3分钟

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.confRedis 容器中设置 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-cliredis-cli -h 127.0.0.1 -p 6379 -a 密码

5、修改Redis配置文件

  1. 进入容器 docker exec -it redis /bin/bash
  2. 进入配置文件目录 cd /etc/redis
  3. 打开配置文件 vim redis.conf

此时可能会有报错

image.png 找不到此命令vim,因为没有安装vim

需要安装vim

apt-get update
apt-get install vim
  1. 添加配置文件
命令功能
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

友情链接 Redis6.0.5版本配置文件说明(非常详细,全文1.5w字)_acllog-max-len-CSDN博客