如何在CoreOS上增加docker容器中的限制?

时间:2015-05-14 23:57:37

标签: linux coreos systemd

默认情况下,CoreOS和Linux内核有一些相当保守的限制,例如打开文件和锁定内存。

所以我在/etc/systemd/system.conf中增加了值:

DefaultLimitNOFILE=500000
DefaultLimitMEMLOCK=unlimited

然而,当我启动我的docker容器时,限制仍然很低。 ulimit -l打印64。

运行ulimit -l unlimited会输出错误。

  

ulimit:最大锁定内存:无法修改限制:操作不行   允许

所以我放了

LimitMAXLOCKED=unlimited
LimitNOFILE=64000

在我的systemd单元文件中。

但是,这些值不是通过docker容器进行的,并且调用它们仍然无法正常工作。我在更改系统范围默认值后重新启动了计算机。

这可能更像是一个系统化的东西。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

Docker容器不是由systemd启动或管理的。 Docker守护程序负责在此处设置限制。以下是official documentation

的示例
# docker run --ulimit nofile=1024:1024 --rm debian sh -c "ulimit -n"