docker - docker run "--memory"选项期望什么单位?

标签 docker

我想将 Docker 容器的内存限制为 1 GB。根据文档,我们可以使用 --memory 指定所需的内存限制选项:

$ docker run --memory <size> ...

然而,documentation没有在页面上的任何地方描述参数的格式或单位:

--memory , -m           Memory limit



我应该提供什么单位给--memory和其他相关选项,如 --memory-reservation--memory-swap ?只是字节?

最佳答案

就我而言,RTFM 的经典案例。 --memory option 支持单位后缀,因此我们不需要计算确切的字节数:

 -m, --memory=""
      Memory limit (format: <number>[<unit>], where unit = b, k, m or g)

   Allows you to constrain the memory available to a container. If the
   host supports swap memory, then the -m memory setting can be larger
   than physical RAM. If a limit of 0 is specified (not using -m), the
   container's memory is not limited. The actual limit may be rounded up
   to a multiple of the operating system's page size (the value would be
   very large, that's millions of trillions).


因此,要按照问题中的描述启动具有 1 GB 内存限制的容器,这两个命令都将起作用:
$ docker run --memory 1g ... 
$ docker run --memory 1073741824 ...
--memory-reservation--memory-swap选项也支持这个约定。

关于docker - docker run "--memory"选项期望什么单位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46672578/

相关文章:

docker - 如何从 Dockerfile 中将文件放置到共享卷上?

docker - GitHub 操作 : How to run docker-compose in windows-latest and macos-latest?

docker - 我们可以从 pods 中现有的容器中产生更多的容器吗?

docker - 查看已停止 Docker 容器的输出

linux - 通过 docker swarm 使用多个特定的网络接口(interface)

mysql - Docker 容器在启动 mysql 服务器后死掉

web-applications - 如何使用 Docker、Puppet 和 Vagrant 开发 LAMP Web 应用程序?

ssl - Docker 远程 CA 验证

node.js - 原始 IP 未传递到 AWS Elastic Beanstalk 上单个容器 Docker 镜像上的容器

mysql - Docker Image 中无法通过套接字连接到本地 MySQL 服务器错误