zoukankan      html  css  js  c++  java
  • docker stack 部署 redis

    ===============================================

    2019/10/21_第3次修改                       ccb_warlock

     

    更新说明:

    2019/10/21:1.redis的配置文件中增加了内存大小的限制

                          2.stack文件中,修改了redis4的最后版本的镜像(redis:4.0.14-alpine)

                          3.stack文件中,增加了资源限制、更新回滚的配置

                          4.增加了swarm网络的创建语句

    2019/4/16:1.修改了2.3内容不正确的问题;

                        2.去掉了redis.conf的注释内容,使配置项更信息;

    ===============================================

     redis作为目前性能较高的nosql数据库在业务的运用中越来越广泛,由于redis的容器化已经比较成熟,故本篇整理stack中部署redis容器服务的方式。

     


     一、前提条件

     


     二、部署redis

     2.1 创建映射的本地目录

    mkdir -p /usr/docker-vol/redis/conf
    mkdir -p /usr/docker-vol/redis/data

     2.2 添加配置文件redis.conf

    vi /usr/docker-vol/redis/conf/redis.conf

     # 添加下面的内容到redis.conf,wq保存(该配置文件中配置了redis的密码123456,根据实际情况可以注释掉)

    # 限制ip连接该redis
    #bind 127.0.0.1
    
    # 保护模式
    protected-mode no
    
    # 端口
    port 6379

    # 内存限制 maxmemory 512mb
    tcp-backlog 511 timeout 0 tcp-keepalive 300 daemonize no supervised no pidfile /var/run/redis_6379.pid loglevel notice logfile "" databases 16 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 ./
    slave-serve-stale-data yes slave-read-only yes repl-diskless-sync no repl-diskless-sync-delay 5 repl-disable-tcp-nodelay no slave-priority 100 # 密码 requirepass 123456 lazyfree-lazy-eviction no lazyfree-lazy-expire no lazyfree-lazy-server-del no slave-lazy-flush no # 持久化。开启yes,关闭no(默认) appendonly yes appendfilename "appendonly.aof" # 每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用 # appendfsync always # (默认)每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐使用这个配置 appendfsync everysec # 完全依赖os,性能最好,持久化没保证 # appendfsync no no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb aof-load-truncated yes aof-use-rdb-preamble no lua-time-limit 5000 slowlog-log-slower-than 10000 slowlog-max-len 128 latency-monitor-threshold 0 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 activerehashing yes client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 aof-rewrite-incremental-fsync yes

     2.3 配置redis-stack.yml

    cd
    vim redis-stack.yml

     # 添加下面的内容到redis-stack.yml文件内,wq保存。

    version: '3.6'
    services:
    
      redis:
        image: redis:4.0.14-alpine
        environment:
          - TZ=Asia/Shanghai
        volumes:
          # 配置文件
          - /usr/docker-vol/redis/conf/redis.conf:/etc/redis.conf
          # 持久化的文件所在目录
          - /usr/docker-vol/redis/data:/data
        command:
          redis-server /etc/redis.conf
        deploy:
          replicas: 1
          restart_policy:
            condition: any # on-failure
    resources:
    limits:
    cpus: "1"
    memory: 512M
    update_config:
    parallelism: 1
    delay: 5s
    monitor: 10s
    max_failure_ratio: 0.1
    order: start-first ports:
    - 6379:6379 networks: - net01 networks: net01: external: true

     2.4 创建网络

    # swarm用的网络

    docker network create 
      --driver=overlay 
      --subnet=172.12.0.0/16 
      --ip-range=172.12.0.0/16 
      --gateway=172.12.0.1 
      --attachable 
      net01

     2.5 创建栈

     1)命令方式

    cd
    docker stack deploy -c redis-stack.yml redis-stack

     2)portainer界面方式(推荐)

     登录portainer(如果是根据上面的教程部署的portainer,浏览器访问http://宿主机IP:9000,在stack中增加rabbitmq-stack.yml文件中的内容)

     

     

     


     参考资料:
     1.https://blog.csdn.net/zyz511919766/article/details/42268219

  • 相关阅读:
    Spring-AOP
    spring学习笔记
    费曼学习法:学习任何知识的好方法
    Spring学习
    Spring学习笔记
    Markdown学习(Typora)
    2020-07-16日报博客
    2020-07-15日报博客
    2020-07-14日报博客
    2020-07-13日报博客
  • 原文地址:https://www.cnblogs.com/straycats/p/9153418.html
Copyright © 2011-2022 走看看