Docker安装Redis(两种方式)

Docker安装部署Redis

方式1——命令行部署(推荐)

docker run \
--restart=always \
-d \
--privileged=true \
-p 6379:6379 \
-v /f/docker/redis/data:/data \
-v /f/docker/redis/conf/redis.conf:/opt/docker/redis/conf/redis.conf \
--name myRedis \
redis \
--requirepass root \
--appendonly yes
  • 配置参数解释

    参数 含义
    --name 容器名
    -p 端口映射
    -v 容器卷映射
    --restart=always 设置随docker自启动
    -d 后台运行
    --appendonly 开启持久化
    --privileged=true 使容器内的root拥有真正root权限
    --requirepass root 设置redis-cli的密码
  • 可执行命令启动redis容器

    docker run --restart=always -d --privileged=true -p 6379:6379 -v /f/docker/redis/data:/data -v /f/docker/redis/conf/redis.conf:/opt/docker/redis/conf/redis.conf --name myRedis redis --requirepass root --appendonly yes
    
  • 进入redis客户端

    docker exec -it myRedis redis-cli
    
  • 输入密码进入客户端

    image-20210526100004937

  • 进入myRedis容器检查容器卷映射结果

    image-20210526102056620

  • 直观查看配置文件redis.conf的具体配置(grep -v "#"——显示不包含"#"的所有行)

    cat redis.conf | grep -v "#" | grep -v "^$"
    

    具体配置信息如下:

    protected-mode no
    port 6379
    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
    rdb-del-sync-files no
    dir /f/docker/redis/data
    replica-serve-stale-data yes
    replica-read-only 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
    requirepass foobared
    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
    

方式二——Portainer图形化部署

  • 找到APP Templates,从利用模板redis容器

    image-20210526100438944

  • 配置redis.conf

  • 进行容器配置

    image-20210526100814655

  • 设置自启动

    docker update myRedis --restart=always
    
  • 容器启动结果

    image-20210526101312218

Redis基础知识

原文地址:https://www.cnblogs.com/caoyusang/p/14860552.html