热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何通过终端或DockerFile设置Docker容器的RAM内存

如何解决《如何通过终端或DockerFile设置Docker容器的RAM内存》经验,为你挑选了1个好方法。

我需要一个具有6GB RAM内存的Docker容器。我尝试了以下命令:

docker run -p 5311:5311 --memory=6g my-linux

但这不起作用,因为我登录了Docker容器并检查了可用的内存量。这是显示仅2gb可用的输出:

>> cat /proc/meminfo

MemTotal:        2046768 kB
MemFree:         1747120 kB
MemAvailable:    1694424 kB

我尝试在Docker应用程序中设置首选项->高级。如果我设置为6gb,则可以工作...我的意思是,我有一个6gb MemTotal的容器。这样我所有的容器都将有6gb ...

我想知道如何使用一些命令或在Docker File中设置一些内容来仅为一个容器分配6gb的内存。有什么帮助吗?



1> Georg Grab..:

不要依赖于/proc/meminfo从Docker容器内部跟踪内存使用情况。/proc/meminfo非集装箱,这意味着该文件显示您的主机系统的meminfo中。

/proc/meminfo表示主机系统有2G可用内存。在不增加物理内存的情况下使6G在容器中可用的唯一方法是创建交换分区。

一旦具有大于或等于〜4G的交换分区,您的容器就可以使用该内存(默认情况下,docker对运行中的容器没有任何限制)。

如果要将显式限制可用于容器的内存量限制为6G,则可以这样做docker run -p 5311:5311 --memory=2g --memory-swap=6g my-linux,这意味着在6G的总内存限制(--memory-swap)中,最多2G的物理内存(--memory)。关于这方面更多的信息在这里。

我无法在已知的Dockerfile中设置内存限制(我认为应该没有:设置Dockerfile用于构建容器,而不是运行它们),但是docker-compose通过mem_limitmemswap_limit键支持上述选项。


推荐阅读
author-avatar
single
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有