Docker 安装 Redis

1.拉取redis 镜像

复制代码
docker pull redis:7.2.4

2. 准备环境

2.1 在宿主机创建目录

复制代码
mkdir -p /app/redis

2.2 将一个redis.conf文件模版拷贝到 /app/redis目录下

复制代码
cp /myredis/redis.conf /app/redis

2.3 修改redis.conf文件

  • 将 bind 127.0.0.1 -::1 改成 #bind 127.0.0.1 -::1
  • 将 daemonize no 改成 daemonize no (因为该配置和docker run 中 -d 参数会冲突,会导致容器一直启动失败)

3. 使用容器卷命令run 容器(注:启动时使用了自己配置的redis.conf)

复制代码
docker run -p 6379:6379 --name=myr1 --privileged=true -v /app/redis/redis.conf:/etc/redis/redis.conf -v /app/redis/data:/data -d redis:7.2.4 redis-server /etc/redis/redis.conf


[root@192 redis]# docker ps
CONTAINER ID   IMAGE         COMMAND                   CREATED         STATUS         PORTS                                       NAMES
8af29345875c   redis:7.2.4   "docker-entrypoint.s..."   5 seconds ago   Up 4 seconds   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   myr1

4. 证明是否使用了自己配置的redis.conf

4.1 第一次在容器中启动redis(可以选中15号库)

复制代码
[root@192 redis]# docker exec -it myr1 /bin/bash
root@8af29345875c:/data# redis-cli 
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> 
127.0.0.1:6379> select 15
OK
127.0.0.1:6379[15]> 

4.2 修改/app/redis/redis.conf 配置文件

databases 16 改成 databases 10

4.3 重启容器

复制代码
docker restart myr1

4.4 第二次在容器中启动redis(不可以选中15号库)

(error) ERR DB index is out of range

复制代码
[root@192 redis]# docker exec -it myr1 /bin/bash
root@8af29345875c:/data# redis-cli 
127.0.0.1:6379> set k2 v2
OK
127.0.0.1:6379> get k2
"v2"
127.0.0.1:6379> SELECT 15
(error) ERR DB index is out of range
127.0.0.1:6379> SELECT 9
OK
127.0.0.1:6379[9]> 

结论: 此次实验,证明redis 使用了我们自己的配置文件。

相关推荐
ps酷教程4 小时前
Jackson 解决没有无参构造函数的反序列化问题
java
NiceCloud喜云4 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
专业白嫖怪4 小时前
什么是docker
运维·docker·容器
程序员老邢5 小时前
《技术底稿 43》今日踩坑复盘:Redis 乱码 + MySQL 配置注入失败
redis·技术底稿·redisson 序列化·mysql 配置·项目踩坑·微服务问题排查
_日拱一卒5 小时前
LeetCode:994腐烂的橘子
java·数据结构·算法·leetcode·深度优先
隔窗听雨眠5 小时前
Nginx网关响应慢排查手记
java·服务器·nginx
智慧物业老杨6 小时前
智慧物业合同周期管理系统:从风险预警到智能交接的全流程数智化落地方案
java·人工智能·python
源码宝6 小时前
MES系统源码:Java8 + SpringBoot2.7 + MySQL8 + Redis,后端源码清爽易扩展
java·后端·源码·springboot·mes系统·源码二开·mes源码
JAVA社区6 小时前
Java高级全套教程(十)—— SpringCloudAlibaba超详细实战详解
java·开发语言·spring cloud·面试·职场和发展
金銀銅鐵7 小时前
[Java] 如何理解 class 文件中方法的 descriptor?
java·后端