docker redis The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn

解决docker中redis警告

The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128

  • 我尝试直接修改宿主机的somaxconn参数,并设置 sysctl.conf 的 somaxconn全部不行。
  • 之后又尝试在宿主机中修改somaxconn参数依然不行 最后我尝试在创建容器的时候修改somaxconn参数,还是不行

说个题外话,如果想要子在创建容器后执行多条命令,可以使用 sh -c “命令1 && 命令2 && 命令3” 这种模式
例如:这个是我尝试在容器启动时修改参数,但是失败了

docker run -p 6388:6379 --name redis6388 --sysctl net.core.somaxconn=1024 \
-v /mnt/docker/redis6388/data:/data \
-v /mnt/docker/redis6388/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-d --restart=always redis \
sh -c "redis-server /usr/local/etc/redis/redis.conf --appendonly yes && sudo echo 511 > /proc/sys/net/core/somaxconn"

终极解决方案

首先查看docker run --help 中是否有 –sysctl这个参数,如果有的话,可以使用下述命令解决此警告,命令如下:

docker run -p 6399:6379 --name redis6399 --sysctl net.core.somaxconn=1024 \
-v /mnt/docker/redis6399/data:/data \
-v /mnt/docker/redis6399/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v /proc/sys/net/core/somaxconn:/proc/sys/net/core/somaxconn \
-e TIME_ZONE="Asia/Shanghai" -e TZ="Asia/Shanghai" \
-d --restart=always redis redis-server /usr/local/etc/redis/redis.conf \
--appendonly yes

重点在 –sysctl net.core.somaxconn=1024 这里,至此问题解决
附加送解决redis时区不同步问题:
-e TIME_ZONE=“Asia/Shanghai” -e TZ=“Asia/Shanghai”
在这里插入图片描述

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值