我可以在 docker-compose 中使用 mem_limit 吗?如何?
Can I use mem_limit in docker-compose? and How?
mem_limit 是否支持 docker-compose?我该如何测试?
我有一个关注docker-compose.yml
repository:
image: myregistry/my_nginx_image
mem_limit: 60m
volumes:
- /etc/localtime:/etc/localtime
ports:
- "80:80"
如何证明容器实际上不超过 60 MB RAM?
我正在使用:
- docker 1.3.1
- docker-撰写 1.1.0
根据documentation,简单
mem_limit: 1000000000
应该够了。我想,您应该放弃 "m",并使用字节而不是兆字节。
您可以在去年写的 post 中找到如何配置 docker 来限制资源(CPU 和内存)以及如何测试您的限制:resource-management-in-docker。
是的。 docker-compose 支持内存限制,并且可以像您的示例中那样使用 "m" 设置值(兆字节)。
可以使用 "docker stats" 命令检查为 运行 Docker 容器设置的内存限制。
如果您的容器名称是 "repository_1" 则使用此命令:
docker stats repository_1
这个结果与这个类似:
CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O
repository_1 1.93% 4.609 MiB/60 MiB 7.20% 1.832 KiB/648 B
如果您使用 docker compose v3 而不是:
mem_limit: 60m
您需要在 deploy
部分指定内存限制:
deploy:
resources:
limits:
memory: 60m
此处描述了此更改:https://docs.docker.com/compose/compose-file/compose-versioning/#version-2x-to-3x
mem_limit 是否支持 docker-compose?我该如何测试?
我有一个关注docker-compose.yml
repository:
image: myregistry/my_nginx_image
mem_limit: 60m
volumes:
- /etc/localtime:/etc/localtime
ports:
- "80:80"
如何证明容器实际上不超过 60 MB RAM?
我正在使用:
- docker 1.3.1
- docker-撰写 1.1.0
根据documentation,简单
mem_limit: 1000000000
应该够了。我想,您应该放弃 "m",并使用字节而不是兆字节。
您可以在去年写的 post 中找到如何配置 docker 来限制资源(CPU 和内存)以及如何测试您的限制:resource-management-in-docker。
是的。 docker-compose 支持内存限制,并且可以像您的示例中那样使用 "m" 设置值(兆字节)。
可以使用 "docker stats" 命令检查为 运行 Docker 容器设置的内存限制。
如果您的容器名称是 "repository_1" 则使用此命令:
docker stats repository_1
这个结果与这个类似:
CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O
repository_1 1.93% 4.609 MiB/60 MiB 7.20% 1.832 KiB/648 B
如果您使用 docker compose v3 而不是:
mem_limit: 60m
您需要在 deploy
部分指定内存限制:
deploy:
resources:
limits:
memory: 60m
此处描述了此更改:https://docs.docker.com/compose/compose-file/compose-versioning/#version-2x-to-3x