快速完成

  1. docker pull redis
  2. mkdir -p /data/volume/redis/{conf,data}
  3. _conf=/data/volume/redis/conf/redis.conf
  4. curl -Lo $_conf http://download.redis.io/redis-stable/redis.conf
  5. sed -i 's,^bind 127.0.0.1.*$,#bind 127.0.0.1,' $_conf
  6. sed -i 's,^appendonly.*$,appendonly yes,' $_conf
  7. sed -i 's,^daemonize.*$,#daemonize no,' $_conf
  1. docker run -d \
  2. -p 6379:6379 \
  3. --restart=always \
  4. --privileged=true \
  5. --name redis \
  6. -v /data/volume/redis/conf/redis.conf:/etc/redis/redis.conf \
  7. -v /data/volume/redis/data:/data \
  8. redis:latest redis-server --appendonly yes --requirepass "kuaicdn_redis_passwd"

步骤详解

首先先拉取redis镜像

  1. docker pull redis

创建 redis 文件夹,在下面创建 conf 和 data 两个子文件夹,用于映射docker redis中的redis.conf和data文件夹

  1. mkdir -p /data/volume/redis/{conf,data}

下载redis.conf文件到配置文件到目录下

  1. curl -Lo /data/volume/redis/conf/redis.conf http://download.redis.io/redis-stable/redis.conf

然后我们开始修改redis.conf文件,主要修改以下几个地方

  • bind 将这个注释掉,保证redis可以远程访问

    1. sed -i 's,^bind 127.0.0.1,#bind 127.0.0.1,' /data/volume/redis/conf/redis.conf
  • daemonize 这个要注释掉,不然docker容器起不来

    1. sed -i 's,^daemonize.*$,#daemonize no,' /data/volume/redis/conf/redis.conf
  • appendonly 用于开启AOF(Append-only file)默认是no,如果想开启,改成yes即可。

Redis持久化分为两种模式,AOF(Append-only file)和RDB(Redis database file).
RDB是Redis默认模式,有点像数据库快照,创建一些时间点的数据,如果发生灾难,可以从这些数据里恢复。
AOF会把每个操作都记录到文件系统中,如果Redis服务器重启了,他会根据这个文件(默认是appendonly.aof)重建整个数据集。

Docker 快速启动 Redis - 图1

查看配置再哪一行

参考文档

https://zhuanlan.zhihu.com/p/79262473