我正在尝试设置一些sysctl值.
基本上如下
sysctl -w \
net.ipv4.tcp_keepalive_time=300 \
net.ipv4.tcp_keepalive_intvl=60 \
net.ipv4.tcp_keepalive_probes=9
在码头工人的容器中.
直接登录到容器并执行命令时,出现以下错误
sysctl: cannot stat /proc/sys/net/ipv4/tcp_keepalive_time: No such file or directory
sysctl: cannot stat /proc/sys/net/ipv4/tcp_keepalive_intvl: No such file or directory
sysctl: cannot stat /proc/sys/net/ipv4/tcp_keepalive_probes: No such file or directory
然后我在here中找到了docker中运行的–sysctl选项
但是我没有通过docker-compose找到相同的选项.
我有一些默认启动的服务,所以使用docker run而不是docker-compose对我来说不是一个选项.
任何人都知道通过compose为容器提供–sysctl选项的方法吗?
最佳答案
@H_301_28@此选项现在在docker-compose 1.10.0-rc1中可用,您需要升级到该版本(pip install docker-compose == 1.10.0-rc1)并将docker-compose.yml文件更新为版本2.1每docs
示例docker-compose.yml:
version: '2.1'
services:
app:
build: .
sysctls:
- net.ipv6.conf.all.disable_ipv6=1