首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用docker-compose指定sysctl值

使用docker-compose指定sysctl值
EN

Stack Overflow用户
提问于 2016-09-05 19:35:00
回答 2查看 20.7K关注 0票数 21

我正在尝试设置几个sysctl值。

基本上是这样的:

代码语言:javascript
运行
复制
sysctl -w \
   net.ipv4.tcp_keepalive_time=300 \
   net.ipv4.tcp_keepalive_intvl=60 \
   net.ipv4.tcp_keepalive_probes=9

在一个码头集装箱里。

当直接登录到容器并执行命令时,我得到以下错误

代码语言:javascript
运行
复制
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

然后我在heredocker run中找到了--sysctl选项,但是我没有通过docker-compose找到对应的选项。我有几个默认启动的服务,所以我不能选择使用docker run而不是docker-compose。

有人知道通过compose向容器提供--sysctl选项的方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-06 08:01:57

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

docker-compose.yml示例:

代码语言:javascript
运行
复制
version: '2.1'
services:
    app:
        build: .
        sysctls:
            - net.ipv6.conf.all.disable_ipv6=1
票数 37
EN

Stack Overflow用户

发布于 2016-09-05 19:50:20

docker-compose缺少许多CLI选项。通常,您必须前往github issues for compose并在那里进行搜索。就sysctl而言,它正在被添加的过程中。有人抓走了made a branch with the addition。您可以从它开始,直到它被添加到主分支。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39329732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档