docker安装redis 6.2.7 并 远程连接

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

文章目录

  • 阿里云ecs服务器,docker安装redis 6.2.7 并 远程连接
    • 1. 拉取redis镜像
    • 2. 查看是否下载成功
    • 3. 挂载配置文件
    • 4. 下载reids配置文件(redis.conf)
    • 5. docker创建redis容器
    • 6. 查看redis容器运行状态
    • 7. 重要命令
        • 1. 修改redis.conf文件,需要重新加载,使用如下命令
        • 2. 进入容器内部
        • 3. 停止运行的Redis
        • 4. 删除redis 容器
        • 5. 删除Redis镜像(删除容器后进行)
    • 8. 使用工具连接redis
    • 9. redis.conf配置如下(仅用于参考)

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/492489.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

css预处理器scss的使用如何全局引入

目录 scss 基本功能 1、嵌套 2、变量 $ 3、mixin 和 include 4、extend 5、import scss 在项目中的使用 1、存放 scss 文件 2、引入 variables 和 mixins 2-1、局部引入 2-2、全局引入 3、入口文件中引入其他文件 项目中使用 css 预处理器&#xff0c;可以提高 cs…

boot整合xfire

最近换了项目组&#xff0c;框架使用的boot整合的xfire&#xff0c;之前没使用过xfire&#xff0c;所以写个例子记录下&#xff0c;看 前辈的帖子 整理下 pom文件 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot…

上位机图像处理和嵌入式模块部署(qmacvisual图像识别)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 所谓图像识别&#xff0c;就是对图像进行分类处理&#xff0c;比如说判断图像上面的物体是飞机、还是蝴蝶。在深度学习和卷积神经网络CNN不像现在这…

企微获客助手功能,行为触发如何实现回传的?

获客助手&#xff0c;这个听起来就相当酷炫的名字&#xff0c;它实际上是一个帮助企业将推广流量快速导入企业微信的神器。通过它&#xff0c;企业可以吸引越来越多的用户加为好友&#xff0c;从而建立起更紧密的客户关系。但是&#xff0c;如何进一步提升导入企业微信的流量质…

IntersectionObserver:实现滚动动画、懒加载、虚拟列表

认识 浏览器自带的适用于 「监听元素与视窗交叉状态」 的观察器&#xff1a;「IntersectionObserver&#xff08;交叉观察器&#xff09;」 IntersectionObserver 是一种 JavaScript API&#xff0c;它提供了一种异步监测元素与其祖先容器或视口之间交叉状态的方法。简单来说&…

数据库备份工具(实现数据定时覆盖)

数据库备份工具&#xff08;实现数据定时覆盖&#xff09; 永远热爱&#xff0c;永远执着&#xff01; 工具介绍 自动化测试数据库更新调度程序 这段 Python 脚本自动化了每天定时从生产数据库更新测试数据库的过程。它利用了 schedule 库来安排并执行每天指定时间的更新任务…

(vue)el-table表格回显返回的已勾选的数据

(vue)el-table表格编辑时回显返回的已勾选的数据 tableData数据&#xff1a; el-tableref"multipleTable":data"tableData"... >...<el-table-column prop"result" label"相关.." align"center" width"220"…

【Java程序设计】【C00344】基于Springboot的船舶维保管理系统(有论文)

基于Springboot的船舶维保管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 项目获取 &#x1f345;文末点击卡片获取源码&#x1f345; 开发环境 运行环境&#xff1a;推荐jdk1.8&#xff1b; 开发工具&#xff1a;eclipse以及i…

NX二次开发判断两对象是否相连(相交,相离)

一、概述 最近学习如何判断两根曲线是否连接&#xff08;不是相交&#xff0c;两条直线有一个端点重合&#xff09;&#xff0c;网上说到两种方法&#xff0c;一种是第一种方法&#xff0c;UF_MODL_ask_minimum_dist_3函数判断两个对象的距离&#xff0c;测得的距离等于零&…

【python】进程和线程

文章目录 进程创建进程os.fork() - 只适用于linux/unix/macmultiprocessing模块Process 类Pool进程池进程间通信队列queue常见用法管道pipes线程创建线程线程间通信互斥锁队列进程 任务管理器中一个任务就是一个进程 创建进程 os.fork() - 只适用于linux/unix/mac multipr…

Halcon与C#联合开发——1.读取图片、图像二值化

在vs中引入halcon控件 修改目标平台为 x64 拖出三个控件 代码展示 using System; using System.Windows.Forms; //引用支持halcon的命名空间 using HalconDotNet;namespace _1.HalconDisplay {public partial class Form1 : Form {// HObject 是Halcon库中表示图像和其他图形…

CentOS7下nginx部署测试

nginx部署测试 #安装程序和依赖yum install -y vim net-tools wgetyum -y install gcc pcre-devel zlib-devel openssl openssl-devel #下载nginx mkdir /opt/nginx cd /opt/nginx wget https://nginx.org/download/nginx-1.20.2.tar.gz#解压 tar zxvf nginx-1.20.2.tar.gz c…

Docker容器与虚拟化技术:OpenEuler 部署 Docker UI

目录 一、实验 1.环境 2.OpenEuler 部署 docker-compose-ui 2.OpenEuler 部署 docker ui 3.使用cpolar内网穿透 二、问题 1.docker run -w 的作用 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 系统架构版本IP备注LinuxopenEuler22.03 LTS SP2 192.168…

PMBOK第八版、项目管理AI标准...PMI标准今年有这些进展

项目管理实践标准不断在演变&#xff0c;PMI作为项目管理领域的权威机构&#xff0c;一直致力于与全球各行各业的项目实践者一同探索和研究最新的行业标准&#xff0c;确保PMI标准符合全球项目专业人士当前能力建设与职业发展的需要。 今年以来&#xff0c;我们发布了一系列PM…

Python提取本体文件的数据

运行结果&#xff1a; 使用replace函数去除前缀。 查找OWL的对象属性&#xff1a; 输出结果&#xff1a; 出现最后这个的原因&#xff1a; 修改程序&#xff1a; 最后的输出结果&#xff1a; 这个解析之后是这个样子的&#xff1a;

考研数学|《1800》《1000》《880》《660》最佳搭配使用方法

直接说结论&#xff1a;基础不好先做1800、强化之前660&#xff0c;强化可选880/1000题。 首先&#xff0c;传统习题册存在的一个问题是题量较大&#xff0c;但难度波动较大。《汤家凤1800》和《张宇1000》题量庞大&#xff0c;但有些题目难度不够平衡&#xff0c;有些过于简单…

代码随想录训练营第59天 | LeetCode 503.下一个更大元素II、LeetCode 42. 接雨水

目录 LeetCode 503.下一个更大元素II 文章讲解&#xff1a;代码随想录(programmercarl.com) 视频讲解&#xff1a;单调栈&#xff0c;成环了可怎么办&#xff1f;LeetCode&#xff1a;503.下一个更大元素II_哔哩哔哩_bilibili 思路 ​​​​​​LeetCode 42. 接雨水 文章…

Compute Express Link (CXL): An Open Interconnect for Cloud Infrastructure——论文阅读

DAC 2023 Paper CXL论文阅读笔记整理 背景 Compute Express Link是一种开放的行业标准互连&#xff0c;在PCI Express&#xff08;PCIe&#xff09;之上提供缓存和内存语义&#xff0c;具有资源池和织物功能。本文探讨了CXL在解决云基础设施中的一些挑战方面的作用。 CXL主要…

数据化运营09 抓住问题关键:用相关性分析拆解多个影响因素

前一讲&#xff0c;和你探讨了多维分析的方法&#xff0c;通过多维分析来寻找指标变化的原因。当我们找到问题的原因时&#xff0c;自然会进一步思考一个问题&#xff1a;指标变化的原因这么多&#xff0c;决定问题的关键因素又是哪个呢&#xff1f; 需要专栏原数据进行实操的同…

Linux小程序——进度条

前言&#xff1a;哈喽小伙伴们&#xff0c;经过我们对多个Linux基本开发工具的学习之后&#xff0c;对于Linux的使用也算是更上一层楼。 所以这篇文章&#xff0c;我们就尝试使用我们学过的Linux知识来写一个小程序——进度条&#xff0c;达到实践以及加深知识映像的效果。 目…