Docker Redis 大坑

Docker Redis 大坑

1、正常下拉redis的docker镜像

- docker pull redis

2、关键在此处请注意

  • 使用docker run 启动
- docker run -d 
	--name redis 
	-p 6379:6379 
	-e 'echo never>/sys/kernel/mm/transparent hugepage/enabled' 
	-v /redis/data:/data 
	-v /redis/conf/redis.conf:/usr/local/etc/redis/redis.conf 
	-v /redis/logs/redis.log:/logs/redis.log 
	--privileged=true 
	docker.io/redis  
	redis-server /usr/local/etc/redis/redis.conf
	--requirepass "lidig"

解析:

-e 'echo never>/sys/kernel/mm/transparent hugepage/enabled’

这句指令加与不加对练习来说问题不大(反正我练习的时候懒得加),主要是针对警告:

WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command ‘echo never > /sys/kernel/mm/transparent_hugepage/enabled’ as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
1:M 25 Feb 2019 00:42:54.108 * Ready to accept connections -----这是不加的情况,此处表示可以连接

-v /redis/data:/data

挂载,该文件夹中主要是两部分文件:RDB快照与AOF

-v /redis/conf/redis.conf:/usr/local/etc/redis/redis.conf

挂载,将在容器外自定义redis配置文件,注意:一定要提早在容器外准备好conf文件,不然redis会读取不到配置文件而导致启动失败!

-v /redis/logs/redis.log:/logs/redis.log

挂载,将容器中日志文件同步在外部目录,注意:一定要提早在容器外准备log文件,否则报错,另外,一定要在准备好的conf配置文件中 logfile "/logs/redis.log" 该路径指定容器内路径

–privileged=true

特权启动,否则写入挂载目录中的文件会报无权限错误

重点:

redis-server /usr/local/etc/redis/redis.conf

使用redis的server命令启动并指定配置文件,这句***一定要加,一定要加,一定要加***

否则上述所指定的配置文件以及挂载等设置全部无效,因为一般操作下redis容器中很难找到配置文件(至少我找不到!)

–requirepass "lidig"

开启密码,配置与该命令保持一致,不然会有奇葩的问题出现!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值