Centos7中Docker安装Redis
一、查询Redis镜像
docker search redis
也可以去docker仓库地址搜索 https://hub.docker.com/search
二、拉取Redis镜像
#拉取最近的版本
docker pull redis#拉取指定版本
docker pull redis:6.2.5
三、查看镜像
docker images | grep redis
四、创建Redis容器并设置密码
docker run -d --name redis -p 6378:6379 redis:6.2.5 --requirepass 123456
五、创建Redis需要挂载的目录
mkdir -p /data/home/docker/redis/{conf,data}
六、获取 Redis 的默认配置模版
可以通过官网下载
#获取 redis 的默认配置模版
#redis 的 docker 运行参数提供了 --appendonly yes 但没 password
wget https://raw.githubusercontent.com/antirez/redis/6.0/redis.conf -O XXX
XXX 替换为自己需要存放的目录--》例如我的:/data/home/docker/redis/conf
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~redis 配置~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 指定Redis 只接收来自于该IP 地址的请求,如果不进行设置,那么将处理所有请求,在生产环境中为了安全最好设置该项。默认注释掉,不开启
#bind 127.0.0.1# #默认yes,开启保护模式,限制为本地访问
protected-mode no
# 监听端口,默认为6379
port 6379# 链接密码
requirepass 123456tcp-backlog 511# 设置客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,那么关闭该连接
timeout 0# 指定TCP连接是否为长连接,"侦探"信号有server端维护。默认为0.表示禁用
tcp-keepalive 300# 默认情况下,redis 不是在后台运行的,如果需要在后台运行,把该项的值更改为yes。
daemonize nosupervised no# 当Redis 在后台运行的时候,Redis 默认会把pid 文件放在/var/run/redis.pid,你可以配置到其他地址。当运行多个redis 服务时,需要指定不同的pid 文件和端口
pidfile /var/run/redis_6379.pid# log 等级分为4 级,debug,verbose, notice, 和warning。生产环境下一般开启notice
loglevel notice# 配置log 文件地址,默认使用标准输出,即打印在命令行终端的窗口上,修改为日志文件目录
logfile ""# 设置数据库的个数,可以使用SELECT 命令来切换数据库。默认使用的数据库是0号库。默认16个库
databases 16always-show-logo yes# 保存数据快照的频率,即将数据持久化到dump.rdb文件中的频度。用来描述"在多少秒期间至少多少个变更操作"触发snapshot数据保存动作
#默认设置,意思是:
# if(在60 秒之内有10000 个keys 发生变化时){# 进行镜像备份
# }else if(在300 秒之内有10 个keys 发生了变化){# 进行镜像备份
# }else if(在900 秒之内有1 个keys 发生了变化){# 进行镜像备份
# }
save 900 1
save 300 10
save 60 10000# 当持久化出现错误时,是否依然继续进行工作,是否终止所有的客户端write请求。默认设置"yes"表示终止,一旦snapshot数据保存故障,那么此server为只读服务。如果为"no",那么此次snapshot将失败,但下一次snapshot不会受到影响,不过如果出现故障,数据只能恢复到"最近一个成功点"、
stop-writes-on-bgsave-error yes# 在进行数据镜像备份时,是否启用rdb文件压缩手段,默认为yes。压缩可能需要额外的cpu开支,不过这能够有效的减小rdb文件的大,有利于存储/备份/传输/数据恢复 读取和写入时候,会损失10%性能
rdbcompression yes# 是否进行校验和,是否对rdb文件使用CRC64校验和,默认为"yes",那么每个rdb文件内容的末尾都会追加CRC校验和,利于第三方校验工具检测文件完整性
rdbchecksum yes# 镜像备份文件的文件名,默认为 dump.rdb
dbfilename dump.rdbrdb-del-sync-files no# 数据库镜像备份的文件rdb/AOF文件放置的路径。这里的路径跟文件名要分开配置是因为Redis 在进行备份时,先会将当前数据库的状态写入到一个临时文件中,等备份完成时,再把该临时文件替换为上面所指定的文件,而这里的临时文件和上面所配置的备份文件都会放在这个指定的路径当中
dir ./replica-serve-stale-data yesreplica-read-only yesrepl-diskless-sync norepl-diskless-sync-delay 5repl-diskless-load disabledrepl-disable-tcp-nodelay noreplica-priority 100acllog-max-len 128lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush nolazyfree-lazy-user-del no# 默认情况下,redis 会在后台异步的把数据库镜像备份到磁盘,但是该备份是非常耗时的,而且备份也不能很频繁。所以redis 提供了另外一种更加高效的数据库备份及灾难恢复方式。开启append only 模式之后,redis 会把所接收到的每一次写操作请求都追加到appendonly.aof 文件中,当redis 重新启动时,会从该文件恢复出之前的状态。但是这样会造成appendonly.aof 文件过大,所以redis 还支持了BGREWRITEAOF 指令,对appendonly.aof 进行重新整理。如果不经常进行数据迁移操作,推荐生产环境下的做法为关闭镜像,开启appendonly.aof,同时可以选择在访问较少的时间每天对appendonly.aof 进行重写一次。
appendonly noappendfilename "appendonly.aof"# 设置对appendonly.aof 文件进行同步的频率。always 表示每次有写操作都进行同步,everysec 表示对写操作进行累积,每秒同步一次。no不主动fsync,由OS自己来完成。这个需要根据实际业务场景进行配置
appendfsync everysecno-appendfsync-on-rewrite noauto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mbaof-load-truncated yesaof-use-rdb-preamble yeslua-time-limit 5000slowlog-log-slower-than 10000slowlog-max-len 128latency-monitor-threshold 0notify-keyspace-events ""hash-max-ziplist-entries 512
hash-max-ziplist-value 64list-max-ziplist-size -2list-compress-depth 0set-max-intset-entries 512zset-max-ziplist-entries 128
zset-max-ziplist-value 64hll-sparse-max-bytes 3000stream-node-max-bytes 4096
stream-node-max-entries 100# 是否开启顶层数据结构的rehash功能,如果内存允许,请开启。rehash能够很大程度上提高K-V存取的效率
activerehashing yes# 客户端buffer控制。在客户端与server进行的交互中,每个连接都会与一个buffer关联,此buffer用来队列化等待被client接受的响应信息。如果client不能及时的消费响应信息,那么buffer将会被不断积压而给server带来内存压力.如果buffer中积压的数据达到阀值,将会导致连接被关闭,buffer被移除。#buffer控制类型包括:normal -> 普通连接;slave ->与slave之间的连接;pubsub ->pub/sub类型连接,此类型的连接,往往会产生此种问题;因为pub端会密集的发布消息,但是sub端可能消费不足.
#指令格式:client-output-buffer-limit <class> <hard> <soft> <seconds>",其中hard表示buffer最大值,一旦达到阀值将立即关闭连接;
#soft表示"容忍值",它和seconds配合,如果buffer值超过soft且持续时间达到了seconds,也将立即关闭连接,如果超过了soft但是在seconds之后,buffer数据小于了soft,连接将会被保留.
#其中hard和soft都设置为0,则表示禁用buffer控制.通常hard值大于soft.
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60# Redis server执行后台任务的频率,默认为10,此值越大表示redis对"间歇性task"的执行次数越频繁(次数/秒)。"间歇性task"包括"过期集合"检测、关闭"空闲超时"的连接等,此值必须大于0且小于500。此值过小就意味着更多的cpu周期消耗,后台task被轮询的次数更频繁。此值过大意味着"内存敏感"性较差。建议采用默认值。
hz 10dynamic-hz yesaof-rewrite-incremental-fsync yesrdb-save-incremental-fsync yesjemalloc-bg-thread yes
也可以直接使用我上述的配置
七、删除容器并设置参数重新运行Redis
# 删除redis容器
docker rm myRedis# 设置挂载重新运行redis
docker run -p 6379:6379 \
-v /usr/local/docker/redis/data:/data \
-v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf \
--privileged=true \
--name myRedis \
-d redis:6.2.7 redis-server /etc/redis/redis.conf #绑定配置文件
查看redis运行容器
docker ps |grep redis
在linux中进入容器
docker exec -it myRedis redis-cli
至此就安装完成
Centos7中Docker安装Redis相关推荐
- 第12章 CentOS7 中 Docker 的安装与配置
第08章 CentOS7 中 Docker 的安装与配置 Docker 是什么? Docker 是世界领先的软件容器平台.[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img- ...
- CentOs7中安装sonarQube服务系列------1.CentOS7中Docker的安装
1.CentOS7中Docker的安装: 因国情原因,访问外网速度较慢,最好使用国内的镜像源.使用国内镜像安装Docker: (1)阿里镜像站: 更换镜像源:centos镜像-centos下载地址-c ...
- CentOS7中离线安装Docker与卸载
场景 CentOS7中Docker的安装与配置: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119028701 在上面安装Do ...
- docker安装redis
在使用docker安装redis的过程中,根据网上的一些文章进行操作,但是到最后一步启动docker容器的时候发生错误.在长期战略合作伙伴--百度的协助下,最终找到了问题的所在,最后写这篇博客记录一下 ...
- 使用ssh连接到centos7中docker容器
docker现在越来越流行,接下来为大家介绍一下如何使用ssh连接docker. 任务 使用ssh连接到centos7中docker容器 实验步骤 因为docker中容器的ip通常来说是和真机以及ce ...
- Docker系列 六. Docker 安装 Redis
Docker 安装 Redis Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 的 NoSQL 数据库,并提供多种语言的 API . ...
- Docker 安装 Redis
Docker 安装 Redis 方法一.docker pull redis:3.2 查找 Docker Hub上的 redis 镜像: docker search redis 这里我们拉取官方的镜像, ...
- Docker 安装redis(四)
Docker 安装redis 1.搜索docker镜像(可以看到搜索的结果,这个结果是按照一定的星级评价规则排序的) docker search redis 2.拉取docker的mysql镜像(如果 ...
- docker 安装redis 挂载到宿主机
1.首先去redis获取对应版本的配置文件redis.conf: http://download.redis.io/releases/ 我选择的是 6.0.9 解压以后 有一个redis.conf ...
最新文章
- 客快物流大数据项目(十六):使用脚本创建镜像
- python pipe stdout 实现cat|grep 功能
- springmvc静态资源拦截与访问
- lua c语言混合编程入门
- python tempfile cleanup_Python tempfile模块:生成临时文件和临时目录
- MySQL-MMM如何调用远程管理卡命令去fence?
- 安装了虚拟机后mysql用不了_在虚拟机上安装mysql,安装好了并且初始化之后,一直无法启动mysql如何解决?...
- 发光二极管pcb封装图画法_【AD封装】PH2.0座子插件贴片(带3D)
- tensorflow之视频质量诊断
- C/C++中存储区域
- 通过Visual Studio 2012 比较SQL Server 数据库的架构变更
- Cocos2dx3.0过渡篇 globalZOrder()与localZOrder()
- word排版教程(标题设置,自动生成目录)
- 线上数据库增加字段导致服务请求超时总结
- 推荐一款(网站图片储存)网站图片外链
- 【考研经验】2018三跨哈工大深圳专硕初试复试经验
- php silk文件转换mp3,微信小程序silk录音文件转mp3
- Ogre Giles
- 当你面临选择,所谓经验可能一文不值
- 分布式微服务下的跨库查询解决思路
热门文章
- 今日新闻简报 十二条微语早报 每天一分钟 知晓天下事 3月2日
- 微信小程序自定义组件使用canvas绘图,无法绘制以及fail canvas is empty问题
- 如何比较两个内容相似的Word文档
- 人工神经网络的算法原理,深度神经网络工作原理
- #从零开始学C语言# 又名 #一人手打情书#
- FTP如何设置用户名密码
- 不要随便给猎头简历!不沟通就瞎投简历,毁了金三银四的大厂面试!
- mysql密码强度不够怎么解决_安装ISPConfig 遇到的mysql密码强度问题
- OWASP TOP 10 2017中文译文
- 阿里P8整理出SQL笔记:收获不止SOL优化抓住SQL的本质