0%

如何在Windows上的Docker以配置文件的方式启动Redis

创建Redis配置文件

选项名 作用 可能取值
bind 指定 redis 只接收来自于该IP地址的请求 如果不进行设置,那么将处理所有请求
port redis监听的端口号 6379
protected-mode 是否开启保护模式,默认开启。要是配置里没有指定bind和密码,开启该参数后,redis只会本地进行访问, 拒绝外部访问。要是开启了密码和bind,可以开启。否则最好关闭 no
timeout 此参数为设置客户端空闲超过timeout,服务端会断开连接 为0则服务端不会主动断开连接, 不能小于0
daemonize 是否在后台执行 yes/no
pidfile redis的进程文件 /var/run/redis/redis.pid
logfile 指定了记录日志的文件。空字符串的话,日志会打印到标准输出设备。 /usr/local/redis/var/redis.log
loglevel 指定了服务端日志的级别。级别包括:debug(很多信息,方便开发、测试),verbose(许多有用的信息, 但是没有debug级别信息多),notice(适当的日志级别,适合生产环境),warn(只有非常重要的信息) notice
databases 数据库的数量,默认使用的数据库是0。 16
save RDB核心规则配置 save <指定时间间隔> <执行指定次数更新操作>,满足条件就将内存中的数据同步到硬盘 中。官方出厂配置默认是 900秒内有1个更改,300秒内有10个更改以及60秒内有10000个更改,则将内存中的 数据快照写入磁盘。若不想用RDB方案,可以把 save “” 的注释打开。 save “”
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error 当RDB持久化出现错误后,是否依然进行继续进行工作,yes:不能进行工作,no:可以继续进行工作,可以通 过info中的rdb_last_bgsave_status了解RDB持久化是否有错误 yes
dir 数据目录,数据库的写入会在这个目录。rdb、aof文件也会写在这个目录 /usr/local/redis/var
dbfilename 指定本地数据库文件名,一般采用默认的 dump.rdb dump.rdb
masterauth 配置master的密码,这样可以在连上master后进行认证。 123456
requirepass 配置可以让用户使用AUTH命令来认证密码,才能使用其他命令。 123456
maxmemory 配置的最大内存容量。当内存满了,需要配合maxmemory-policy策略进行处理。注意slave的输出缓冲区 是不计算在maxmemory内的。所以为了防止主机内存使用完,建议设置的maxmemory需要更小一些 122000000

以配置文件的方式启动

  • 假设我把redis的配置文件放在了d:/Redis/redisDemo/redis.conf下,使用-v选项进行挂载。
  • 在配置文件中把port设置成了7000,用-p指定内外部的端口 。
  • 用-d来指定镜像和redis-server指定使用配置文件的路径。
1
docker --name redisDemo -v d:/Redis/redisDemo/redis.conf:/usr/local/etc/redis/redis.conf -p 7000:7000 -d redis redis-server /usr/local/etc/redis/redis.conf
  • 运行容器后,使用下面命令进入bash
1
docker exec -it redisDemo bash
  • 然后需要修复集群的IP和端口为127.0.0.1:7000
1
redis-cli --cluster fix 127.0.0.1:7000
  • 然后用下面命令就可以进入客户端使用了
1
redis-cli -p 7000
-------------本文结束感谢您的阅读-------------