docker封装redis镜像

发布时间:2020-03-13 12:15:30编辑:admin阅读(2374)

    一、概述

    线上使用的redis版本为 3.2.13,但是dockerhub没有此版本的镜像。只有3.2.12
    但是默认的镜像启动时,是没有redis.conf的,如果需要加配置,需要自己定义配置文件。

     

    二、封装镜像

    创建目录

    # dockerfile目录
    mkdir -p /opt/dockerfile/redis
    # 持久化目录
    mkdir -p /data/redis

    /opt/dockerfile/redis目录结构如下:

    ./
    ├── dockerfile
    ├── redis.conf
    └── run.sh

    dockerfile

    FROM redis:3.2.12
    COPY redis.conf /usr/local/etc/redis/redis.conf
    CMD [ "redis-server", "/usr/local/etc/redis/redis.conf"]

    redis.conf

    dir /data
    pidfile /data/redis.pid
    logfile "/data/redis.log"
    repl-disable-tcp-nodelay yes
    no-appendfsync-on-rewrite yes
    maxmemory 2048m
    maxmemory-policy allkeys-lru
    requirepass 123456

    注意:调整maxmemory参数。我这里的服务器内存是4g,所以调整为2g

     

    run.sh

    #!/bin/bash
    docker run -d -it --name redis_prod --restart=always -p 6379:6379 -v /data/redis:/data redis_prod:3.2.12

     

    生成镜像

    cd /opt/dockerfile/redis
    docker build -t redis_prod:3.2.12 .

     

    启动镜像

    bash run.sh

     

    三、测试

    # docker exec -it redis_prod /bin/bash
    # redis-cli
    127.0.0.1:6379> auth 123456
    OK
    127.0.0.1:6379> info
    # Server
    redis_version:3.2.12
    ...

     


关键字