• Docker安装Redis


    Docker系列文章目录

    例如:Docker安装Redis



    前言

    ps:因为安装过一次总是忘记,这次就粘贴+创作发到自己的账号上,以备不时之需


    一、为什么要使用Docker安装?

    论证:便捷

    二、 Docker安装redis

    1. Docker搜索redis镜像

    命令:docker search <镜像名称>:

    docker search redis
    
    • 1

    在这里插入图片描述
    可以看到有很多redis的镜像,此处因没有指定版本,所以下载的就是默认的最新版本 。redis latest.

    2.Docker拉取镜像

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

    docker pull redis
    
    • 1

    在这里插入图片描述

    命令:查看所有容器

    docker  images
    
    • 1

    在这里插入图片描述


    3.Docker挂载配置文件

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

    1)、挂载redis的配置文件

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

    本人的配置文件是放在

    liunx 下redis.conf文件位置: /home/redis/myredis/redis.conf

    liunx 下redis的data文件位置 : /home/redis/myredis/data

    位置可以自己随便选择哈

    创建目录

     mkdir -p /home/redis/myredis 命令 是不存在就直接创建/home/redis/myredis 文件夹
    
    • 1

    在这里插入图片描述

    创建data和conf文件

     mkdir -p /home/redis/myredis/data
     mkdir -p /home/redis/myredis/conf
    
    
    • 1
    • 2
    • 3

    创建redis.conf文件

     touch /home/redis/myredis/conf/redis.conf
    
    • 1

    配置文件在最后

    4.启动 redis容器

    docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /home/redis/myredis/conf:/etc/redis/redis.conf  -v /home/redis/myredis/data:/data  -d redis redis-server /etc/redis/redis.conf  --appendonly yes  --requirepass 000415
    
    • 1
    • –restart=always 总是开机启动
    • –log是日志方面的
    • -p 6379:6379 将6379端口挂载出去
    • –name 给这个容器取一个名字
    • -v 数据卷挂载
      • /home/redis/myredis/conf:/etc/redis/redis.conf 这里是将 liunx 路径下的redis.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指令查看启动状态
    docker ps -a  # 通过docker ps指令查看启动状态,是否成功.
    
    • 1

    在这里插入图片描述

    2、查看容器运行日志

    命令:docker logs --since 30m <容器名>
    此处 --since 30m 是查看此容器30分钟之内的日志情况。

    docker logs --since 30m myredis  
    
    • 1

    在这里插入图片描述

    3、容器内部连接进行测试

    进入容器

    命令:docker exec -it <容器名> /bin/bash

    此处跟着的redis-cli是直接将命令输在上面了。

    docker exec -it myredis redis-cli
    
    • 1

    然后输入密码

    auth 密码
    
    • 1

    在这里插入图片描述

    查看当前redis有没有设置密码:(得验证通过了才能输入的)

    config get requirepass
    
    • 1

    在这里插入图片描述

    4、退出容器
    exit
    
    • 1

    6、配置文件

    # bind 192.168.1.100 10.0.0.1
    # bind 127.0.0.1 ::1
    #bind 127.0.0.1
    
    protected-mode no   #关闭protected-mode模式,此时外部网络可以直接访问 (docker貌似自动开启了)
    
    port 6379
    
    tcp-backlog 511
    
    requirepass 000415                    # 设置密码
    
    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   # 启动Redis持久化功能 (默认 no , 所有信息都存储在内存 [重启丢失] 。 设置为 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
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106

    总结

    提示:大功告成

    PS:感谢您的观看

  • 相关阅读:
    kubernetes集群编排(13)
    nginx
    MMLAB系列:MMCLS训练结果验证与测试
    如何界定什么是好的设计?优漫动游
    权重向量介绍
    View菜单解析
    华为云安装Docker,在其中安装Tomcat运行Html项目一步到位
    蓝桥杯实战应用【算法代码篇】-如何找数组中唯一成对的那个数(附Java和C++代码)
    turf.js介绍及使用(地图掩膜遮罩功能的实现)
    后端入门教程:从零开始学习后端开发
  • 原文地址:https://blog.csdn.net/aaxzsuj/article/details/128055030