您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

共享主机资源上的Docker 17.06-ce默认容器内存限制

共享主机资源上的Docker 17.06-ce默认容器内存限制

因此,您需要做的是为内存创建一个SystemD slice。

# /etc/systemd/system/limit-docker-memory.slice
[Unit]
Description=Slice with MemoryLimit=8G for docker
Before=slices.target

[Slice]
MemoryAccounting=true
MemoryLimit=8G

然后在其中配置该片 /etc/docker/daemon.json

{
    "cgroup-parent": "limit-docker-memory.slice"
}

重新加载systemctl并重新启动docker

systemctl daemon-reload
systemctl restart docker

请参阅文档中的相关部分

--cgroup-parent选项允许您设置用于容器的认cgroup父级。如果未设置此选项,则对于fs cgroup驱动程序,认为/ docker;对于systemd cgroup驱动程序,认为system.slice。

如果cgroup有一个前导斜杠(/),则cgroup在根cgroup下创建,否则cgroup在守护程序cgroup下创建。

假设守护程序在cgroup daemoncgroup中运行,–cgroup-parent = / foobar在/ sys / fs / cgroup / memory / foobar中创建一个cgroup,而使用–cgroup-parent = foobar在/ sys / fs /中创建cgroup cgroup /内存/ daemoncgroup / foobar

systemd cgroup驱动程序对–cgroup- parent具有不同的规则。Systemd按切片表示层次结构,切片的名称对树中的位置进行编码。因此,systemd cgroup的–cgroup- parent应该是切片名称名称可以包含一系列用短划线分隔的名称,这些名称描述了从根切片到切片的路径。例如,–cgroup-parent = user-ab.slice表示在/sys/fs/cgroup/memory/user.slice/user-a.slice/user- ab.slice/docker中创建容器的内存cgroup -。范围。

也可以在docker create和docker run上使用–cgroup-parent选项为每个容器设置此设置,并且优先于守护程序上的– cgroup-parent选项。

其他 2022/1/1 18:13:48 有761人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶