Docker安装redis(保姆级教程&图文并茂)

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
日志服务 SLS,月写入数据量 50GB 1个月
简介: Docker安装redis(保姆级教程&图文并茂)

在这里插入图片描述

⭐一、服务器配置


🍒关闭防火墙、沙盒、iptables

systemctl stop firewalld  && systemctl disable firewalld
setenforce 0
vim /etc/selinux/config 
#编辑  SELINUX=disabled
iptables -F &&  iptables-save

🍒安装docker

yum -y install docker
systemctl start docker
systemctl enable docker

# docker版本
[root@localhost ~]# docker --version
Docker version 1.13.1, build 7d71120/1.13.1

⭐二、Docker搜索redis镜像


docker search redis

在这里插入图片描述

⭐三、Docker拉取镜像


docker pull redis

在这里插入图片描述

⭐四、Docker挂载配置文件


  • 挂载redis的配置文件
  • 挂载redis 的持久化文件(为了数据的持久化)
宿主机的位置选择可以根据磁盘空间大小自由选择

宿主机redis.cof文件位置 : /data/redis/conf/redis.cof

mkdir -p /data/redis/conf
cd /data/redis/conf
vi redis.conf
#将⭐七、配置文件内容 进行复制

宿主机redis-data位置 : /data/redis/data

mkdir -p /data/redis/data

⭐五、启动redis 容器


🍒启动命令

docker run -itd --name redis --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 -v /data/redis/conf/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data  redis redis-server /etc/redis/redis.conf --appendonly yes  --requirepass qwe123

🍒参数解析

  • 【 --restart=always】 开机启动,失败也会一直重启;
  • 【--log-opt max-size=100m】意味着一个容器日志大小上限是100M;
  • 【--log-opt max-file=2】意味着一个容器有2个日志,分别是id+.json、id+1.json;
  • 【-p 6379:6379】 将宿主机6379端口与容器内6379端口进行映射;
  • 【-v】 将宿主机目录或文件与容器内目录或文件进行挂载映射;
  • **【-itd】

                     i:以交互模式运行容器,通常与 -t 同时使用;
                   t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
                  d:表示后台启动redis;**
  • 【--name】 给容器命名;
  • 【–appendonly yes】 开启redis 持久化;
  • 【–requirepass qwe123】 强烈建议设置密码,并且将密码设置为高强度复杂;
  • 【redis-server /etc/redis/redis.conf】 以配置文件启动redis,加载容器内的conf文件;

🍒老版本启动报错

老版本docker在启动的时候 可能会报错;是因为老版本的docker日志驱动程序是:journald
... unknown log opt 'max-file' for journald log driver

修改配置文件

vim /etc/sysconfig/docker
#编辑
原文:OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false'
编辑后:OPTIONS='--selinux-enabled --log-driver=json-file --signature-verification=false'

重启dokcer加载配置文件

systemctl daemon-reload && systemctl restart docker

⭐六、测试redis


🍒查看启动状态

docker ps -a | grep redis

在这里插入图片描述

🍒查看容器日志

docker logs -f  redis

在这里插入图片描述

🍒查看redis命令是否正常

docker exec -it redis redis-cli

在这里插入图片描述

⭐七、配置文件


redis.conf配置文件
protected-mode no

port 6379

tcp-backlog 511
#redis密码 强烈建议设置复杂一些
requirepass qwe123     

timeout 0

tcp-keepalive 300

daemonize no

supervised no

pidfile /var/run/redis_6379.pid

loglevel notice

logfile ""

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 ./

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

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

⭐使用[RedisDesktopManager]工具进行连接

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
4天前
|
NoSQL 数据可视化 Redis
Mac安装Redis
Mac安装Redis
14 3
|
4天前
|
NoSQL Ubuntu 安全
在Ubuntu 18.04上安装和保护Redis的方法
在Ubuntu 18.04上安装和保护Redis的方法
14 0
|
4天前
|
存储 NoSQL Java
使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
该博客文章展示了如何在Linux虚拟机上使用Redis和Jedis客户端实现手机验证码的验证功能,包括验证码的生成、存储、验证以及限制每天发送次数的逻辑,并提供了测试结果截图。
使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
|
5天前
|
NoSQL Linux 网络安全
Linux系统安装Redis
该博客文章详细介绍了在Linux系统中安装Redis的步骤,包括下载、编译、配置、启动Redis服务以及使用客户端访问Redis数据库的过程。
Linux系统安装Redis
|
7天前
|
Linux 测试技术 Docker
Docker CE for CentOS 安装教程
Docker CE for CentOS 安装教程
46 1
|
4天前
|
存储 NoSQL Ubuntu
如何安装和使用 Redis
如何安装和使用 Redis
12 0
|
4天前
|
存储 NoSQL Ubuntu
在Ubuntu 16.04上安装和配置Redis的方法
在Ubuntu 16.04上安装和配置Redis的方法
6 0
|
3月前
|
Ubuntu 网络安全 数据安全/隐私保护
百度搜索:蓝易云【docker通过dockerfile安装sftp教程。】
现在,你已经通过 Dockerfile 成功安装了 SFTP,并且可以使用指定的用户名和公钥进行远程访问。请确保替换示例中的用户名、密码和公钥为自己的实际值。
139 1
|
10月前
|
消息中间件 Shell RocketMQ
百度搜索:蓝易云 ,常用环境部署—Docker安装RocketMQ教程!
通过按照上述步骤,您可以在Docker中成功安装和部署RocketMQ。请注意,上述命令仅提供了一个基本的安装和配置过程,具体配置和使用可以根据您的需求进行进一步调整。确保在执行命令之前,您已经安装并配置好Docker环境。
161 0
|
1月前
|
关系型数据库 MySQL Linux
Docker安装mysql详细教程, mysqld: Can‘t read dir of ‘/etc/mysql/conf.d/‘(报错已解决)
Docker安装mysql详细教程, mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2 - No such file or directory) 已解决