美文网首页
Docker - Redis服务

Docker - Redis服务

作者: 七喜丶 | 来源:发表于2022-05-16 08:50 被阅读0次

    一、建立镜像

    1.搜寻相关镜像

    #查询mysql相关镜像
    docker search redis
    

    2.拉取镜像

    #拉取指定版本redis镜像
    docker pull redis:版本号
    
    #拉取最新版本redis镜像
    docker pull redis
    

    3.检查是否拉取成功

    docker images
    

    4.准备Redis的配置文件
    因为需要Redis配置文件,最好是去官网去下载一个Redis使用里面的配置文件即可:
    Redis中文官方网站

    5.配置redis.conf配置文件
    修改redis.conf配置文件:

    bind 127.0.0.1 #注释掉这部分,使redis可以外部访问
    daemonize no #用守护线程方式启动
    requirepass 你的密码 #设置redis密码
    appendonly yes #redis持久化 默no
    tcp-keepalive 300 #防止出现远程主机强迫关闭了一个现有的连接的错误 默认300

    6.创建挂载文件目录
    创建本地存放redis的位置,位置可以自定义,比如:

    sudo mkdir /data/redis
    sudo mkdir /data/redis/data
    
    或者
    sudo mkdir -p /data/redis/data
    

    把配置文件拷贝到创建的文件里

    sudo cp -p redis.conf /data/redis/
    

    7.启动docker redis

    docker run -p 6379:6379 --name redis -v /data/redis/redis.conf:/etc/redis/redis.conf  -v /data/redis/data:/data -d redis redis-server /etc/redis/redis.conf --restart=always --appendonly yes
    

    参数解释:

    -p:把容器内6379端口映射到宿主机6370端口
    -v:挂载命令 将容器中的配置挂载在外部来方便修改:前为主机目录,后为容器目录
    redis-server /etc/redis/redis.conf:这个是关键配置,让Redis不是无配置启动,而是按照这个redis.conf的配置启动
    --appendonly:reids数据持久化配置

    8.查看是否启动成功

    docker ps
    
    #可以查看日志
    docker logs redis
    

    redis配置文件

    #默认情况bind=127.0.0.1只能接受本机的访问请求
    #不写的情况下,无限制接受任何ip地址的访问
    # bind 127.0.0.1 ::1
    
    #如果开启了protected-mode,那么在没有设定bind ip且没有设密码的情况下,Redis只允许接受本机的响应
    protected-mode no
    
    #端口号
    port 6379
    
    #TCP连接队列
    tcp-backlog 511
    
    #登录密码
    requirepass 123456
    
    #一个空闲的客户端维持多少秒会关闭,0表示关闭该功能。即永不关闭
    timeout 0
    
    #对访问客户端的一种心跳检测,每个n秒检测一次,单位为秒,如果设置为0,则不会进行Keepalive检测,建议设置成60
    tcp-keepalive 300
    
    #是否为后台进程,设置为yes,守护进程,后台启动
    daemonize no
    
    
    supervised no
    
    #存放pid文件的位置,每个实例会产生一个不同的pid文件
    pidfile /var/run/redis_6379.pid
    
    #指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为notice
    loglevel notice
    
    #日志文件名称
    logfile ""
    
    #设定库的数量 默认16,默认数据库为0,
    databases 30
    
    always-show-logo yes
    
    save 900 1
    save 300 10
    save 60 10000
    
    #配置存储至本地数据库时是否压缩数据,默认为yes。Redis采用LZF压缩方式,但占用了一点CPU的时间。若关闭该选项,
    但会导致数据库文件变的巨大。建议开启
    stop-writes-on-bgsave-error yes
    
    #配置存储至本地数据库时是否压缩数据,默认为yes。Redis采用LZF压缩方式,但占用了一点CPU的时间。若关闭该选项,但会导致数据库文件变的巨大。建议开启
    rdbcompression yes
    
    #是否校验rdb文件;从rdb格式的第五个版本开始,在rdb文件的末尾会带上CRC64的校验和。这跟有利于文件的容错性,但是在保存rdb文件的时候,会有大概10%的性能损耗,所以如果你追求高性能,可以关闭该配置
    rdbchecksum yes
    
    #指定本地数据库文件名,一般采用默认的 dump.rdb
    dbfilename dump.rdb
    
    #数据目录,数据库的写入会在这个目录。rdb、aof文件也会写在这个目
    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
    

    相关文章

      网友评论

          本文标题:Docker - Redis服务

          本文链接:https://www.haomeiwen.com/subject/qpeyurtx.html