使用docker-compose指定sysctl值

我正在设置一些sysctl值。
基本上如下

sysctl -w \ net.ipv4.tcp_keepalive_time=300 \ net.ipv4.tcp_keepalive_intvl=60 \ net.ipv4.tcp_keepalive_probes=9 

在docker集装箱。
当直接login容器并执行命令时,出现以下错误

 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 

然后我在这里发现docker docker run中的–sysctl选项但是我没有通过docker-composefind相应的选项。 我有几个默认启动的服务,所以使用docker run代替docker-compose不是我的select。

任何人都知道的方式来提供–sysctl选项的容器通过撰写?

这个选项现在在docker-compose 1.10.0-rc1中可用,您需要升级到该版本( pip install docker-compose==1.10.0-rc1 ),并将docker-compose.yml文件更新到版本每个文档 2.1

示例docker-compose.yml:

 version: '2.1' services: app: build: . sysctls: - net.ipv6.conf.all.disable_ipv6=1 

docker-compose缺less许多CLI选项。 一般来说,你必须转向github问题来撰写和search那里。 在sysctl的情况下,它正在被添加。 有人加了一个分支 。 你可以从开始,直到它被添加到主分支。