Docker安装redis

Docker安装redis

一.安装

1.拉取镜像

可以执行docker pull redis:版本号命令来拉去镜像(不加版本号则默认是拉取最新的redis)。
我们这里安装的redis版本为最新版,命令如下所示。

#拉取redis镜像
docker pull redis

2.创建挂载目录

挂载目录,用于映射到容器,目录按自己的情况创建。
conf:该目录存放redis的配置文件。
data:该目录下存放redis的快照文件(rdb和aof)。
redis.log:该文件用于映射容器中的redis的日志文件。

#创建conf文件夹
mkdir -p /usr/local/redis/conf
#创建data文件夹
mkdir -p /usr/local/redis/data
#给data文件夹赋予权限
chmod 777 /usr/local/redis/data
#创建logs文件夹
mkdir -p /usr/local/redis/logs
#创建redis.log文件
touch /usr/local/redis/logs/redis.log
#给redis.log文件赋予权限
chmod 777 /usr/local/redis/logs/redis.log

解释一下

在上面linux命令的执行中分别给data文件夹和redis.log文件赋予了权限。如果感兴趣可以分别阅读一下这两篇文章。

  1. 为什么给data文件夹赋予权限
  2. 为什么给redis.log文件赋予权限

3.redis核心配置

在/usr/local/redis/conf目录下创建redis.conf文件。

#创建并编辑redis.conf文件
vim  /usr/local/redis/conf/redis.conf

将下面的配置内容复制到redis.conf中

#绑定的主机地址
bind 0.0.0.0
#默认yes,开启保护模式,限制为本地访问
protected-mode no
#指定 Redis 监听端口
port 6379
tcp-backlog 511
#设置 Redis 连接密码
requirepass 123456
#当客户端闲置多长时间后关闭连接,如果
#指定为 0,表示关闭该功能
timeout 0
tcp-keepalive 300
#改为yes意为以守护进程方式启动,可后台运行
daemonize no
supervised no
#当 Redis 以守护进程方式运行时,Redis 
#默认会把 pid 写入 /var/run/redis.pid 
#文件,可以通过 pidfile 指定
pidfile /var/run/redis_6379.pid
#指定日志记录级别,Redis 总共支持四个级别:
#debug、verbose、notice、warning,默认为
#notice
loglevel notice
#redis日志在容器中存放的位置
logfile "/etc/redis/logs/redis.log"
#设置数据库的数量,默认数据库为0,可以使用
#SELECT 命令在连接上指定数据库id
databases 30
always-show-logo yes
#save <seconds> <changes> 
#指定在多长时间内,有多少次更新操作,就将
#数据同步到数据文件,可以多个条件配合
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
#指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 
#采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,
#但会导致数据库文件变的巨大
rdbcompression yes
rdbchecksum yes
#指定本地数据库文件名,默认值为 dump.rdb
dbfilename dump.rdb
#指定本地数据库存放目录
dir "/etc/redis/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
#是否开启AOF
appendonly yes
#指定更新日志文件名,默认为 appendonly.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
#指定是否激活重置哈希,默认为开启(后面在介绍 Redis 的哈希算法时具体介绍)
activerehashing yes
#通过修改hz参数的值,您可以调整Redis执行定期任务的频率,
#从而改变Redis清除过期key、清理超时连接的效率
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes

4.启动容器

我们执行启动容器命令。

docker run -p 6379:6379 --name redis \
--privileged=true \
--restart=always \
-v /usr/local/redis/conf/redis.conf:/etc/redis/conf/redis.conf \
-v /usr/local/redis/logs/redis.log:/etc/redis/logs/redis.log \
-v /usr/local/redis/data:/etc/redis/data \
-d redis \
redis-server /etc/redis/conf/redis.conf \
--appendonly yes \
--requirepass 123456

参数解释:

  • -p:端口映射 宿主主机:容器
  • –name:为容器指定一个名称
  • –privileged=true:扩大容器内的权限,将容器内的权限变为root权限。
  • –restart=always:重启docker时,自动启动相关容器。
  • -v:目录挂载 宿主主机:容器
  • -d:后台启动并返回容器id的意思
  • redis-server /etc/redis/redis.conf 以配置文件启动redis
  • –appendonly yes 开启redis 持久化
  • –requirepass 123456 设置密码

二.测试

1.启动完成后,输入查看日志命令。

tail -f -n100 /usr/local/redis/logs/redis.log

2.如下图所示,则证明启动成功。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值