使用docker-compose指定sysctl值

前端之家收集整理的这篇文章主要介绍了使用docker-compose指定sysctl值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试设置一些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选项的方法吗?

最佳答案
此选项现在在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

猜你在找的Docker相关文章