安装部署手册
1. 拉取镜像
- 执行以下命令拉取 Redis 镜像:
docker search redis
docker pull redis
2. 挂载 Redis 配置文件
- 在
/data/docker/datas
目录下创建data
文件夹,并通过编辑器(如 vim)创建redis.conf
文件:
cd /data/docker/datas
mkdir data
vim redis.conf
- 编译 redis.conf文件
protected-mode no
port 6379
tcp-backlog 511
requirepass 123456789
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"
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
3. 启动 Redis 容器
- 执行以下命令启动 Redis 容器:
docker run --name myredis -p 6379:6379 -v /data/docker/datas/redis/redis.conf:/etc/redis/redis.conf -v /data/docker/datas/redis/data:/data -d redis:latest redis-server /etc/redis/redis.conf --appendonly yes
- 命令参数介绍
--restart=always 总是开机启动
--log是日志方面的
-p 6379:6379 将6379端口挂载出去
--name 给这个容器取一个名字
-v 数据卷挂载
- /home/redis/myredis/myredis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
- /home/redis/myredis/data:/data 这个同上
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/home/redis/myredis/myredis.conf
–appendonly yes 开启redis 持久化
–requirepass 000415 设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设)
该命令将创建名为 myredis
的 Redis 容器,并将宿主机的 6379
端口映射到容器的 6379
端口。此外,通过 -v
参数挂载宿主机上的 redis.conf
文件和 data
文件夹到容器内对应的路径上,最后使用 redis-server
命令加载配置文件并开启日志记录。
4.使用YAML启动
- 配置快捷路径
vim /etc/profile
export REDIS_HOME=/data/docker/datas/redis
#保存配置
source /etc/profile
- 编写YAML文件
cd $REDIS_HOME
vim redis.yml
- YAML文件内容
version: '3'
services:
redis-master:
container_name: myredis
image: redis:latest
ports:
- '6379:6379'
volumes:
- '/data/docker/datas/redis/redis.conf:/etc/redis/redis.conf'
- '/data/docker/datas/redis/data:/data'
restart: always
command: redis-server /etc/redis/redis.conf --appendonly yes
- 执行yaml 启动redis
docker-compose -f $REDIS_HOME/redis.yml up -d