Docker安装redis使用自定义配置

获取 redis 镜像 docker pull redis

gSU9Em

查看本地镜像 docker images

wO8HzQ

从官网获取 redis.conf 配置文件

  1. 修改默认配置文件
  • bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
  • protected-mode no #默认yes,开启保护模式,限制为本地访问
  • daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选),改为yes会使配置文件方式启动redis失败
  • dir ./ #输入本地redis数据库存放文件夹(可选)
  • appendonly yes #redis持久化(可选)
  1. docker 启动 redis 命令

    docker run -p 6379:6379 --name redis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

  2. 不挂载配置文件:

    docker run --name redis -p 6379:6379 -d --restart=always redis redis-server --appendonly yes --requirepass "这是密码"

  3. 命令解释说明:

  • -p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
  • –name myredis 指定该容器名称,查看和进行操作都比较方便。
  • -v 挂载目录,规则与端口映射相同。
  • -d redis 表示后台启动redis
  • redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf
  • appendonly yes 开启redis 持久化

运行成功

  1. 使用docker ps 查看redis已经运行了

    O4XLe7

  2. 使用 docker exec -it redis /bin/bash进入redis

  3. 使用 redis-cli 可以测试连接。

  4. 这样是默认不设置密码的,spring连接方式配置为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# REDIS配置

# Redis数据库索引(默认为0)
spring.redis.database=0

# Redis服务器IP地址
spring.redis.host=127.0.0.1

# Redis服务器连接端口
spring.redis.port=6379

# Redis服务器连接密码(默认为空,可不配置此项)
# spring.redis.password=xxx

# 连接池最大连接数(使用负值表示没有限制)
spring.redis.lettuce.pool.max-active=500

# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.lettuce.pool.max-wait=-1

# 连接池中的最大空闲连接
spring.redis.lettuce.pool.max-idle=8

# 连接池中的最小空闲连接
spring.redis.lettuce.pool.min-idle=0

# 连接超时时间(毫秒)
spring.redis.timeout=0