Docker大法好
redis启动后会报几个warning,网上一些解决办法无法解决docker环境下的warning,在此记录
按照网上的办法以下warning一直无法解决:
WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
意思:TCP backlog区大不能设置为511,因为/proc/sys/net/core/somaxconn要求设为小于128的值
- 拉取镜像
docker pull redis
- 目录准备
mkdir -p /data/redis/data
修改系统参数
临时修改 `echo never > /sys/kernel/mm/transparent_hugepage/enabled` `echo never > /sys/kernel/mm/transparent_hugepage/defrag` 永久 `vi /etc/sysctl.conf` 增加 > vm.overcommit_memory = 1 > net.core.somaxconn=4096 执行 `sysctl -p` `vi /etc/rc.d/rc.local` 增加 > if test -f /sys/kernel/mm/transparent_hugepage/enabled; then > echo never > /sys/kernel/mm/transparent_hugepage/enabled > fi > if test -f /sys/kernel/mm/transparent_hugepage/defrag; then > echo never > /sys/kernel/mm/transparent_hugepage/defrag > fi 赋权 `chmod +x /etc/rc.d/rc.local`
- 启动docker
docker run --name redis -p 6379:6379 --sysctl net.core.somaxconn=4096 -v /data/redis/data:/data -d redis redis-server --requirepass "123456"
> 注意:
加上--sysctl net.core.somaxconn=4096
即可解决“TCP backlog区大不能设置为511”warning