Docker docker-compose安装redis单节点

docker-compose 是什么

熟悉docker的人都知道Dockerfile用来构件单个镜像服务的,想要运行服务,要输入复杂的 run 命令来启动并配置服务。
对于服务间 依赖 以及服务的 环境变量 网络参数 文件挂载 等操作,当然可以使用yaml文件来配置,这就是docker-compose
docker-compose 就是Docker编排工具,可以优雅的配置服务间的依赖关系,服务的属性控制,减少运维成本。

docker-compose 安装 redis单节点

redis
├─ docker-compose.yml
└─ redis.conf
  • ./redis.conf redis单节点服务配置文件
  • ./docker-compose.yml docker-compose配置文件
  • redis单节点 docker-compose.yml 文件

    version: '3'
    services:
       redis:
         image: redis:latest
         restart: "no"
         container_name: redis
         ports:
           - "5070:6379"
         volumes:
           - ./redis.conf:/etc/redis/redis.conf 
           - ./data:/data      
         command: redis-server /etc/redis/redis.conf 
         privileged: true
    
  • image 服务使用的镜像
  • restart: always/no 保持无服务开机启动或者其他情况下正常启动/不自动启动
  • volumes 挂载外部路径到容器内部
  • ports 暴露服务内部端口
  • ./docker-compose.yml docker-compose配置文件
  • 服务配置文件redis.conf

    bind 0.0.0.0
    protected-mode yes
    port 6379
    tcp-backlog 511
    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
    replica-serve-stale-data yes
    repl-diskless-sync no
    repl-diskless-sync-delay 5
    repl-diskless-load disabled
    repl-disable-tcp-nodelay no
    replica-priority 100
    acllog-max-len 128
    lazyfree-lazy-eviction no
    lazyfree-lazy-expire no
    lazyfree-lazy-server-del no
    replica-lazy-flush no
    lazyfree-lazy-user-del no
    oom-score-adj no
    oom-score-adj-values 0 200 800
    appendonly no
    appendfilename "appendonly.aof"
    appendfsync everysec
    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-log-slower-than 10000
    slowlog-max-len 128
    latency-monitor-threshold 0
    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
    client-output-buffer-limit normal 0 0 0
    client-output-buffer-limit replica 256mb 64mb 60
    client-output-buffer-limit pubsub 32mb 8mb 60
    hz 10
    dynamic-hz yes
    aof-rewrite-incremental-fsync yes
    rdb-save-incremental-fsync yes
    jemalloc-bg-thread yes
    

    执行命令启动服务 docker-compose up -d

    等待success提示则=启动成功

    服务启动成功,就可以使用访问redis单节点服务了

    docker-compose 常用命令