Docker安装redis,并配置持久化

下载镜像

1.首先下载最新版本的redis镜像:docker pull redis

2.doker images可以查看下载好的镜像

 
到这里开始有两种启动方式:
一种是以效率为先的快速启动方式
另一种则是设置配置文件的方式,配置文件可以让我们设置redis持久化(重启redis数据也不会丢失或丢失小部分)。

快速启动(第一种方法)

docker run -itd --name redis -p 6379:6379 redis

一句即可启动redis,但是没有设置配置文件,只是快速启动使用而已
下面是用配置的方式启动

 

配置(第二种方法)

首先我们创建好存放redis配置文件和数据的目录结构:/docker/redis/{conf,data}
然后配置文件可以从官网拷贝下来,也可以用这个指令下载(修改最后的存放目录,粘贴到linux即可):

wget https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf -O conf/redis.conf

下载完毕,可以打开修改以下配置

  • bind 127.0.0.1
    注释掉这部分,这是限制redis只能本地访问
  • protected-mode no
    默认是yes,开启保护模式,限制为本地访问
  • requirepass 123456
    配置redis连接密码,默认是注释的
  • daemonize no
    默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选),改为yes会使配置文件方式启动redis失败,windows貌似默认不支持这个配置项
  • dir ./
    更改本地redis数据库存放文件夹(可选)
  • appendonly yes
    redis持久化(开启了这个,redis就不会每次重启时自动清空了)

 

启动(第二种方法)

复制下面这行到linux执行即可

docker run -itd -p 6379:6379 --name redis -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data redis redis-server /etc/redis/redis.conf 

记得更改挂载文件的位置,还可以通过在run命令后面加上appendonly yes 开启redis持久化(如果没写配置文件的话)。

 

测试

输入以下指令查看容器日志是否启动成功

docker logs --tail 200 -f redis

或输入以下指令进入容器

docker exec -it redis /bin/bash

输入redis-cli连接redis,如果是连接其他服务器的redis,则需要加参数

redis-cli -h xx.xxx.xx.xxx -p 6379

随便set,get一下试试,有结果则说明没问题。

 

在线设置密码

连接了redis客户端后,还能通过命令设置密码,这种方式设置密码不需要重启redis

config set requirepass 123456

获取密码

config get requirepass

设置了密码后登陆不输入密码也能登录成功,就是没有任何操作权限(读写)
带密码登录:

redis-cli -h xx.xxx.xx.xxx -p 6379 -a 123456

或不带密码登录,但是登陆完了后再验证密码

redis-cli
auth 123456

在这里插入图片描述
 
 
 
 

参考 docker安装redis并以配置文件方式启动
https://blog.youkuaiyun.com/weixin_42456466/article/details/87270959
Redis学习总结(5)之redis.conf配置文件说明
https://blog.youkuaiyun.com/jokeMqc/article/details/87933573
Redis详解(二)------ redis的配置文件介绍
https://www.cnblogs.com/ysocean/p/9074787.html

### 如何在 Docker安装配置 Redis 实现持久化存储 要在 Docker 容器中运行 Redis 启用持久化存储,可以按照以下方法操作: #### 启动带有持久化Redis 容器 为了使 Redis 数据能够保存到本地磁盘上,在启动容器时需要挂载宿主机的一个目录作为数据卷。通过 `-v` 参数指定宿主机上的路径映射到容器内的 `/data` 路径,设置 `--appendonly yes` 来开启 AOF(Append Only File)模式。 以下是具体的命令示例: ```bash docker run -p 6379:6379 -v $PWD/data:/data -d redis:latest redis-server --appendonly yes ``` 这条命令的作用如下: - `-p 6379:6379`: 将容器内部的端口 6379 映射到宿主机的相同端口。 - `-v $PWD/data:/data`: 把当前工作目录下的 `data` 文件夹挂载至容器中的 `/data` 目录,用于存储持久化文件。 - `redis:latest`: 使用官方最新的 Redis 镜像版本。 - `redis-server --appendonly yes`: 设置 Redis持久化方式为 AOF 模式[^1]。 #### 关于 Redis 持久化机制的选择 Redis 提供两种主要的数据持久化方案——RDB 和 AOF。其中 RDB 是一种快照式的持久化策略,默认情况下每五分钟自动触发一次;而 AOF 则记录每次写入操作的具体指令,因此具备更高的安全性以及更少的数据丢失风险。对于大多数生产环境而言,建议同时启用这两种机制来保障数据可靠性。 当采用上述命令创建容器时,实际上已经启用了 AOF 功能。如果希望进一步调整参数或者单独依赖 RDB,则可以在启动前自定义一份配置文件通过额外选项加载它。 #### 创建定制版 Config 文件的方法 假如想修改默认行为比如更改备份频率或是关闭某些特性的话,先准备一个名为 `redis.conf` 的文本档内容如下所示: ```conf save 900 1 save 300 10 save 60 10000 appendonly no dir /data/ ``` > 上述例子表示每隔十五分钟如果有至少一条改动就生成新的 dump.rdb 文件存放到指定位置;同时也禁用了AOF日志功能以便单纯依靠定期全量转储完成恢复作业。 之后再利用下面的方式引入该设定表单: ```bash docker run -p 6379:6379 -v $PWD/redis.conf:/usr/local/etc/redis/redis.conf -v $PWD/data:/data -d redis:latest redis-server /usr/local/etc/redis/redis.conf ``` 这样做的好处是可以灵活控制各项细节满足特定需求的同时保持良好的性能表现。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值