docker安装redis 6.2.7 并 远程连接

阿里云ecs服务器,docker安装redis 6.2.7 并 远程连接

1. 拉取redis镜像

docker pull redis:6.2.7

2. 查看是否下载成功

docker images

docker镜像查看

3. 挂载配置文件

  1. 虽然可以通过在启动命令中加环境变量的方式写入配置参数,但是建议你将redis的配置文件挂载出来,这样遇到问题方便排查,也方便你修改配置
  2. 创建两个文件夹(稍后要用)
   mkdir -p /islirj/mydata/redis/conf

   mkdir -p /islirj/mydata/redis/data

1: 可以自己定义路径文件夹
2: 这个文件挂载的操作需要在创建容器的时候进行,在第5步:docker创建redis容器时进行操作

4. 下载reids配置文件(redis.conf)

redis配置文件下载
在官网中选择对应的版本即可(需要科学上网),这里我选择6.2版本

  1. 对redis.conf配置文件进行修改
# 原本:
bind 127.0.0.1
protected-mode yes

# 修改为
# bind 127.0.0.1
protected-mode no # 禁用保护模式,实现远程连接
logfile "/data/redis.log" # 设置日志,和两个文件(data,redis.conf)一起挂载到宿主机
dir /data # 控制备份文件(包括rdb和aof存放在什么路径),一同放在data文件夹下挂载到宿主机,将redis的备份文件持久化,保证重启容器之后,数据也不会丢失
appendonly yes # 开启aof备份(看自身情况进行修改)
requirepass yourpassword # 配置redis密码,这个是必要的,越复杂越好
  1. redis.conf 需要手动上传到/islirj/mydata/redis/conf目录下,data不需要

完整版的redis.conf有2053行,大部分都是注释,我去除掉注释,放在了本文最后,作为参考

5. docker创建redis容器

docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /islirj/mydata/myredis/conf/redis.conf:/etc/redis/redis.conf -v /islirj/mydata/myredis/data:/data -d redis:6.2.7 redis-server /etc/redis/redis.conf  --appendonly yes
命令作用
- - restart=always总是开机启动
- - log-opt max-size=100m设置容器日志文件的最大大小为 100MB。一旦日志文件达到设定的最大大小,Docker 将自动进行日志轮转,即将当前日志文件重命名并创建一个新的日志文件来继续记录日志信息
- -log-opt max-file=2设置保留的日志文件数量为 2。当日志文件达到设定的最大数量后,Docker 将删除最旧的日志文件,以确保只保留指定数量的日志文件
-p 3306:3306设置端口映射
- - name给容器取名
-v数据卷挂载(这里是挂载本地文件或目录)
-d后台启动redis
redis-server /etc/redis/redis.conf以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf,也就是/root/islirj/mydata/redis/conf/redis.conf
- - appendonly yes开启redis持久化,死了自动拉起来(需要在redis.conf开启aof备份功能)

6. 查看redis容器运行状态

docker ps # 列出当前正在运行的容器
docker ps -a # 列出所有的容器,包括正在运行的和已经停止的

redis容器运行状态

如上图所示,即为成功


7. 重要命令

1. 修改redis.conf文件,需要重新加载,使用如下命令
systemctl restart network && systemctl restart docker    #重启network服务
2. 进入容器内部
# 命令:docker exec -it <容器名> /bin/bash
docker exec -it myredis redis-cli

redis容器测试

3. 停止运行的Redis
# 停止命令:docker stop <容器名>
docker stop myredis # myredis 是我启动redis 命名的别名
4. 删除redis 容器
# 命令: docker rm <容器名称>或者<容器id>
docker rm myredis
5. 删除Redis镜像(删除容器后进行)
#查看全部镜像 命令: 
docker images

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

删除redis镜像

8. 使用工具连接redis

  1. ecs服务器设置安全组规则
  1. 阿里云的服务器默认端口是不对外开放的,如果想要供外部访问,需要在安全组中手动添加规则,开放端口
  2. 首先去百度,搜索ip,查看自己ip地址,我的ip是182.204.x.x,所以在第4步配置的时候写成182.204.0.0/16; 如果写成0.0.0.0/0代表所有ip都可以访问,有点危险。
  1. 用工具进行连接
    设置安全组

another redis desktop manager连接redis

我用的工具是another redis desktop manager,比较推荐这款工具


9. redis.conf配置如下(仅用于参考)

#bind 127.0.0.1

protected-mode no # 禁用保护模式,实现远程连接

port 6379

tcp-backlog 511

requirepass yourpassword # 这个密码一定要写,越复杂越好

timeout 0

tcp-keepalive 300

daemonize no

supervised no

pidfile /var/run/redis_6379.pid

loglevel notice

logfile "/data/redis.log" # 设置日志位置

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 /data # 控制备份文件

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 # 开启aof备份

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
  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值