快速完成
docker pull redis
mkdir -p /data/volume/redis/{conf,data}
_conf=/data/volume/redis/conf/redis.conf
curl -Lo $_conf http://download.redis.io/redis-stable/redis.conf
sed -i 's,^bind 127.0.0.1.*$,#bind 127.0.0.1,' $_conf
sed -i 's,^appendonly.*$,appendonly yes,' $_conf
sed -i 's,^daemonize.*$,#daemonize no,' $_conf
docker run -d \
-p 6379:6379 \
--restart=always \
--privileged=true \
--name redis \
-v /data/volume/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /data/volume/redis/data:/data \
redis:latest redis-server --appendonly yes --requirepass "kuaicdn_redis_passwd"
步骤详解
首先先拉取redis镜像
docker pull redis
创建 redis 文件夹,在下面创建 conf 和 data 两个子文件夹,用于映射docker redis中的redis.conf和data文件夹
mkdir -p /data/volume/redis/{conf,data}
下载redis.conf文件到配置文件到目录下
curl -Lo /data/volume/redis/conf/redis.conf http://download.redis.io/redis-stable/redis.conf
然后我们开始修改redis.conf文件,主要修改以下几个地方
bind 将这个注释掉,保证redis可以远程访问
sed -i 's,^bind 127.0.0.1,#bind 127.0.0.1,' /data/volume/redis/conf/redis.conf
daemonize 这个要注释掉,不然docker容器起不来
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)重建整个数据集。