docker安装redis

1.搜索redis镜像

命令:docker search <镜像名称>

docker search redis

2.拉取镜像

命令::docker pull <镜像名称>:<版本号>

docker pull redis

3.创建配置文件

接下来就是要将redis 的配置文件进行挂载,以配置文件方式启动redis 容器。(挂载:即将宿主的文件和容器内部目录相关联,相互绑定,在宿主机内修改文件的话也随之修改容器内部文件)

1)、挂载 redis 的配置文件

2)、挂载 redis 的持久化文件(为了数据的持久化)。

  1. 创建目录

     mkdir -p /usr/local/redis/conf /usr/local/redis/data
    
  2. 添加配置文件

    vim /usr/local/redis/conf/redis.conf
    

    以下是配置文件内容

    # 将 192.168.1.100 绑定到 10.0.0.1 上(仅限 Linux 内核 3.9+)
    #bind 192.168.1.100 10.0.0.1
    
    # 将 127.0.0.1 绑定到 IPv6 ::1 上(仅限 Linux 内核 3.9+)
    #bind 127.0.0.1 ::1
    
    # 禁用保护模式,允许外部主机连接
    protected-mode no
    
    # 指定 Redis 监听端口
    port 6379
    
    # 设置 TCP 连接队列的长度
    tcp-backlog 511
    
    # 设置 Redis 访问密码
    requirepass 123456
    
    # 设置客户端闲置连接超时时间(秒),0 表示无限制
    timeout 0
    
    # 设置 TCP 连接的 keepalive 时间(秒)
    tcp-keepalive 300
    
    # 后台运行 Redis 服务器 (不关闭会造成docker-compose启动失败,无错误日志)
    daemonize no
    
    # 设置 Redis 运行的模式(no、upstart、systemd)
    supervised no
    
    # 设置 Redis 进程 ID 文件路径
    pidfile /var/run/redis_6379.pid
    
    # 设置日志级别
    loglevel notice
    
    # 设置日志文件路径(空字符串表示不写入日志文件)
    logfile ""
    
    # 设置数据库数量
    databases 30
    
    # 是否始终显示 Redis 的 ASCII 艺术 LOGO
    always-show-logo yes
    
    # 设置数据保存条件,格式为 save <seconds> <changes>
    save 900 1
    save 300 10
    save 60 10000
    
    # 如果后台保存出错,是否停止写入操作
    stop-writes-on-bgsave-error yes
    
    # 是否对 RDB 文件进行压缩
    rdbcompression yes
    
    # 是否进行 RDB 文件校验
    rdbchecksum yes
    
    # RDB 文件名
    dbfilename dump.rdb
    
    # RDB 文件保存目录
    dir ./
    
    # 设置从服务器是否提供过期数据的读取
    replica-serve-stale-data yes
    
    # 设置从服务器只读
    replica-read-only yes
    
    # 是否使用无盘同步
    repl-diskless-sync no
    
    # 是否禁用 TCP_NODELAY 算法,提高数据传输效率
    repl-disable-tcp-nodelay no
    
    # 从服务器优先级
    replica-priority 100
    
    # 是否启用 lazyfree 机制进行数据清理
    lazyfree-lazy-eviction no
    lazyfree-lazy-expire no
    lazyfree-lazy-server-del no
    replica-lazy-flush no
    
    # 是否开启 AOF 持久化
    appendonly yes
    
    # AOF 文件名
    appendfilename "appendonly.aof"
    
    # 是否在 AOF 重写时禁用 fsync 操作
    no-appendfsync-on-rewrite no
    
    # 触发 AOF 重写的百分比
    auto-aof-rewrite-percentage 100
    
    # 触发 AOF 重写的最小文件大小
    auto-aof-rewrite-min-size 64mb
    
    # 是否允许载入有损坏的 AOF 文件
    aof-load-truncated yes
    
    # 是否使用 RDB 文件的前置宣言
    aof-use-rdb-preamble yes
    
    # 设置 Lua 脚本的最大执行时间(毫秒)
    lua-time-limit 5000
    
    # 慢查询日志最大长度
    slowlog-max-len 128
    
    # key 过期事件的监听
    notify-keyspace-events "Ex"
    
    # 设置哈希对象的最大 ziplist 条目数和最大 ziplist value 长度
    hash-max-ziplist-entries 512
    hash-max-ziplist-value 64
    
    # 设置列表对象的最大 ziplist size 和 compress depth
    list-max-ziplist-size -2
    list-compress-depth 0
    
    # 设置集合对象的最大 intset 条目数
    set-max-intset-entries 512
    
    # 设置有序集合对象的最大 ziplist 条目数和最大 ziplist value 长度
    zset-max-ziplist-entries 128
    zset-max-ziplist-value 64
    
    # 设置 HyperLogLog 对象的最大 sparse 编码长度
    hll-sparse-max-bytes 3000
    
    # 设置 stream 对象的最大 node 长度和最大 entry 数量
    stream-node-max-bytes 4096
    stream-node-max-entries 100
    
    # 是否开启动态 HZ,根据负载动态调整 serverCron() 函数的执行频率
    activerehashing yes
    
    # 设置 serverCron() 函数的执行频率,值越高执行频率越高
    hz 10
    
    # 是否开启动态 HZ,动态调整 serverCron() 函数的执行频率
    dynamic-hz yes
    
    # 是否在 AOF 重写时使用增量 fsync
    aof-rewrite-incremental-fsync yes
    
    # 是否在 RDB 持久化时使用增量 fsync
    rdb-save-incremental-fsync yes
    

4.启动redis容器

docker run \
--restart=always \
--log-opt max-size=100m \
--log-opt max-file=2 \
-p 6379:6379 \
--name redis \
-v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /usr/local/redis/data:/data \
-d \
redis
命令说明
–restart=always总是开机启动
–log日志方面的
-p 6379:6379将6379端口挂载出去
–name给这个容器取一个名字
-v数据卷挂载
- /home/redis/myredis/myredis.conf:/etc/redis/redis.conf这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
- /home/redis/myredis/data:/data这个同上
-d redis表示后台启动redis
redis-server /etc/redis/redis.conf以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf就是liunx下的/home/redis/myredis/myredis.conf
–appendonly yes开启redis 持久化
–requirepass 000415设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置)

5.操作容器

1查看启动状态

docker ps -a

2查看日志

docker logs redis

3进入容器

docker exec -it redis /bin/sh

4访问客户端

docker exec -it redis redis-cli

在这里插入图片描述

5验证密码

auth 123456

在这里插入图片描述

6查看密码

config get requirepass

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值