由于docker拉取的redis镜像没有配置文件,所以此文章会构建一个带有redis配置文件的镜像,方便挂载。
-
创建 redis目录
mkdir /redis
-
创建redis.conf
# bind 192.168.1.100 10.0.0.1 # bind 127.0.0.1 ::1 #bind 127.0.0.1 protected-mode yes port 6379 tcp-backlog 511 requirepass 123456 timeout 0 tcp-keepalive 300 daemonize no supervised no pidfile /var/run/redis_6379.pid loglevel notice logfile "" databases 30 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 dir ./ replica-serve-stale-data yes replica-read-only yes repl-diskless-sync no repl-disable-tcp-nodelay no replica-priority 100 lazyfree-lazy-eviction no lazyfree-lazy-expire no lazyfree-lazy-server-del no replica-lazy-flush no appendonly yes 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-max-len 128 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 hz 10 dynamic-hz yes aof-rewrite-incremental-fsync yes rdb-save-incremental-fsync yes
-
创建Dockerfile
FROM redis:7.0 WORKDIR /data COPY redis.conf /etc/redis/conf.d/ VOLUME ["/etc/redis/conf.d","/data"] ENTRYPOINT ["redis-server","/etc/redis/conf.d/redis.conf"]
-
进入/redis目录,构建镜像
cd /redis docker build -t redis:7-wuyu .
-
创建容器,挂载文件
docker run -d --name redis-7.0 \ -p 6379:6379 \ -v redis_conf:/etc/redis/conf.d/redis.conf \ -v redis_data:/data \ redis:7-wuyu