马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
截止目前,Redis 的最新稳定版本是 6.2.6。这个版本在可读性、性能和稳定性方面进行了改进,并增长了一些新的命令和功能。
一、安装redis
1.1 拉去镜像
执行过程
- 1-拉去镜像
- [root@iZuf6hxabqikytnrumsi4gZ logs]# docker pull redis:6.2.6
- 2- 查看拉去的镜像
- [root@iZuf6hxabqikytnrumsi4gZ logs]# docker images -a
- REPOSITORY TAG IMAGE ID CREATED SIZE
- redis 6.2.6 7614ae9453d1 23 months ago 113MB
- mysql 5.7 c20987f18b13 23 months ago 448MB
复制代码 1.2 创建reids配置文件
新建文件夹
- 1-新建文件夹
- [root@syf/]# mkdir -p /data/dockerData/redis/conf
- [root@syf/]# cd /data/dockerData/redis/conf
-
- 2-创建文件
- [root@syf conf]# touch redis.config
- [root@syf conf]# ls
- my.config
-
- 3-编写文件内容 (进入后 i 子母键插入,黏贴下面配置,:wq! 保存并退出)
- [root@syf conf]# vim my.config
复制代码 本次使用的配置文件(注意看我解释):
- # Redis服务器配置
- # 绑定IP地址
- #解除本地限制 注释bind 127.0.0.1
- #bind 127.0.0.1
- # 服务器端口号
- port 6379
- #配置密码,不要可以删掉
- requirepass syf133618
-
-
-
- #这个配置不要会和docker -d 命令 冲突
- # 服务器运行模式,Redis以守护进程方式运行,默认为no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败,如果后面redis启动失败,就将这个注释掉
- daemonize no
- #当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定(自定义)
- #pidfile /data/dockerData/redis/run/redis6379.pid
- #默认为no,redis持久化,可以改为yes
- appendonly yes
- #当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
- timeout 60
- # 服务器系统默认配置参数影响 Redis 的应用
- maxclients 10000
- tcp-keepalive 300
- #指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合(分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改)
- save 900 1
- save 300 10
- save 60 10000
- # 按需求调整 Redis 线程数
- tcp-backlog 511
-
- # 设置数据库数量,这里设置为16个数据库
- databases 16
- # 启用 AOF, AOF常规配置
- appendonly yes
- appendfsync everysec
- no-appendfsync-on-rewrite no
- auto-aof-rewrite-percentage 100
- auto-aof-rewrite-min-size 64mb
- # 慢查询阈值
- slowlog-log-slower-than 10000
- slowlog-max-len 128
- # 是否记录系统日志,默认为yes
- syslog-enabled yes
- #指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
- loglevel notice
-
- # 日志输出文件,默认为stdout,也可以指定文件路径
- logfile stdout
- # 日志文件
- #logfile /var/log/redis/redis-server.log
- # 系统内存调优参数
- # 按需求设置
- hash-max-ziplist-entries 512
- hash-max-ziplist-value 64
- list-max-ziplist-entries 512
- list-max-ziplist-value 64
- set-max-intset-entries 512
- zset-max-ziplist-entries 128
- zset-max-ziplist-value 64
复制代码 下面是关于配置文件详解,本身参考的使用:
三、运行容器,使用上面配置文件启动
- docker run -p 6379:6379 --name redis6.2.6 -v /data/dockerData/redis/conf/redis.config:/etc/redis/redis.config -v /data/dockerData/redis/data:/var/lib/redis -v /data/dockerData/redis/logs:/logs -d redis:6.2.6 redis-server /etc/redis/redis.config
复制代码 上面命令参数表明
–privileged=true :容器内的root拥有真正root权限,否则容器内root只是外部平凡用户权限
-p:端口映射,此处映射 主机6379端口 到 容器的6379端口
-v:主机和容器的目录映射关系,":"前为主机目录,之后为容器目录
新建配置文件书卷: -v /data/dockerData/redis/conf/redis.config:/etc/redis/redis.config
redis数据生存数据卷 -v /data/dockerData/redis/data:/var/lib/redis
reids日志文数据卷 -v /data/dockerData/redis/logs:/logs
-d : 表示使得容器配景不停运行
redis-server /etc/redis/redis.conf:指定配置文件启动redis-server进程
–appendonly yes:开启数据持久化
–requirepass 123456 :设置你的密码,设置密码比较安全
运行步骤:
- 1-查看镜像
- [root@iZuf6hxabqikytnrumsi4gZ conf]# docker images -a
- REPOSITORY TAG IMAGE ID CREATED SIZE
- redis 6.2.6 7614ae9453d1 23 months ago 113MB
- mysql 5.7 c20987f18b13 23 months ago 448MB
- 2-查看容器
- [root@iZuf6hxabqikytnrumsi4gZ conf]# docker ps -a
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- 2a384f369e0b mysql:5.7 "docker-entrypoint.s…" 3 minutes ago Up 3 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql5.7
- 3-以配置文件方式启动redis
- [root@iZuf6hxabqikytnrumsi4gZ conf]# docker run -p 6379:6379 --name redis6.2.6 -v /data/dockerData/redis/conf/redis.config:/etc/redis/redis.config -v /data/dockerData/redis/data:/var/lib/redis -v /data/dockerData/redis/logs:/logs -d redis:6.2.6 /etc/redis/redis.config
- 4-查看启动的容器
- [root@iZuf6hxabqikytnrumsi4gZ conf]# docker ps -a
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- a34aff536643 redis:6.2.6 "docker-entrypoint.s…" 59 seconds ago Up 58 seconds 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp redis6.2.6
- 2a384f369e0b mysql:5.7 "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql5.7
复制代码 四、测试
- 1-进入redis容器
- [root@iZuf6hxabqikytnrumsi4gZ logs]# docker exec -it a34aff536643 bash
- 2-连接redis
- root@a34aff536643:/data# redis-cli
-
- 3-输入密码
- 127.0.0.1:6379> auth 1234
- OK
复制代码 最后一定要开放防火墙
- 输入指令:firewall-cmd --zone=public --add-port=6379/tcp --permanent,开放防火墙指定端口。
- 输入指令:firewall-cmd --reload,重新加载防火墙。
设置开机启动
开机启动
docker update --restart=always 容器ID
取消
docker update --restart=no 容器ID
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |