VirtualBox 下 CentOS-10 下 Docker 安装 Redis

一、Docker拉取镜像最新版 Redis version=8.6.2
复制代码
docker pull redis

结果:

二、Docker挂载配置文件

接下来就是要将redis 的配置文件进行挂载,以配置文件方式启动redis 容器 。(挂载:即将宿主的文件和容器内部目录相关联,相互绑定,在宿主机内修改文件的话也随之修改容器内部文件)

1)、挂载redis的配置文件

2)、挂载redis 的持久化文件(为了数据的持久化)。

本人的配置文件是放在

liunx 下redis.conf文件位置: /home/redis/myredis/redis.conf

liunx 下redis的data文件位置 : /home/redis/myredis/data

位置可以自己随便选择哈

执行命令,创建文件夹,不存在就直接创建/home/redis/myredis 文件夹

复制代码
mkdir -p /home/redis/myredis

mkdir /home/redis/myredis/data

myredis.conf 文件是我手动上传的。 (redis.conf的标准文件在redis官网也可以找到)

复制代码
# myredis.conf
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
# bind 127.0.0.1

protected-mode no

port 6379

tcp-backlog 511

requirepass 000415

timeout 0

tcp-keepalive 300

daemonize no

supervised no

pidfile /var/run/redis_6379.pid

loglevel notice

logfile ""

databases 30

always-show-logo yes

save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir ./

replica-serve-stale-data yes

replica-read-only yes

repl-diskless-sync no

repl-disable-tcp-nodelay no

replica-priority 100

lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no

appendonly yes

appendfilename "appendonly.aof"

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

aof-load-truncated yes

aof-use-rdb-preamble yes

lua-time-limit 5000

slowlog-max-len 128

notify-keyspace-events ""

hash-max-ziplist-entries 512
hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128
zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

stream-node-max-bytes 4096
stream-node-max-entries 100

activerehashing yes

hz 10

dynamic-hz yes

aof-rewrite-incremental-fsync yes

rdb-save-incremental-fsync yes
三、启动redis 容器
复制代码
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /home/redis/myredis/myredis.conf:/etc/redis/redis.conf -v /home/redis/myredis/data:/data -d redis redis-server /etc/redis/redis.conf  --appendonly yes  --requirepass 12345678
  1. --restart=always 总是开机启动
  2. --log是日志方面的
  3. -p 6379:6379 将6379端口挂载出去 冒号前面是主机的端口
  4. --name 给这个容器取一个名字
  5. -v 数据卷挂载 冒号前面是主机的一个物理目录路径
    • /home/redis/myredis/myredis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
    • /home/redis/myredis/data:/data 这个同上
  6. -d redis 表示后台启动redis
  7. redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/home/redis/myredis/myredis.conf
  8. --appendonly yes 开启redis 持久化
  9. --requirepass 000415 设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置)

执行后的内容:

四、测试
1、通过docker ps指令查看启动状态
2、查看容器运行日志
复制代码
docker logs --since 30m myredis
3、容器内部连接进行测试

命令:docker exec -it <容器名> /bin/bash

此处跟着的redis-cli是直接将命令输在上面了。

复制代码
# 进入容器内部
docker exec -it myredis redis-cli
 
# 测试连接
ping
# 应该返回 PONG
 
# 测试设置键值
set test_key "Hello Redis"
get test_key
五、Docker删除Redis

查看所有在运行的容器:

命令: docker ps -a

停止运行的Redis

停止命令:docker stop <容器名>

复制代码
docker stop myredis # myredis 是我启动redis 命名的别

删除redis 容器:

删除容器命令: docker rm <容器名>

复制代码
docker rm myredis

删除容器后,我们开始删除redis镜像。

查看全部镜像 命令: docker images

删除镜像 命令 docker rmi <容器 id>

复制代码
docker rmi 009cc37796fb # 这是我镜像redis id
相关推荐
爱人间3 小时前
apache-tomcat-8.5.72启动控制台乱码解决方案
java·tomcat·apache
dddaidai1233 小时前
Spring AI Alibaba(二)Hooks 和Interceptors
java·人工智能·spring
鬼蛟3 小时前
Spring Boot整合全局异常处理器、junit、多环境、logback
java·spring boot·后端
进击的女IT3 小时前
Java使用poi-tl实现word模版渲染文本/图片
java·数据库·word
222you3 小时前
Docker部署在线会议jitsi-meet
运维·docker·容器
庞轩px3 小时前
ThreadLocal 源码分析与内存泄漏问题
java·jvm·线程·threadlocal·内存泄露·key-value
小江的记录本3 小时前
【Logback】Logback 日志框架 与 SLF4J绑定、三层模块、MDC链路追踪、异步日志、滚动策略
java·spring boot·后端·spring·log4j·maven·logback
随风,奔跑3 小时前
Spring Boot笔记
java·spring boot·笔记·后端
studyForMokey3 小时前
【Android面试】Handler专题
android·java·面试