docker 运行指定内存的操作

 更新时间:2021年03月29日 14:23:43   作者:weixin_34341117  
这篇文章主要介绍了docker 运行指定内存的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下:

-m,--memory         内存限制,格式是数字加单位,单位可以为 b,k,m,g。最小为 4M
--memory-swap        内存+交换分区大小总限制。格式同上。必须必-m设置的大
--memory-reservation     内存的软性限制。格式同上
--oom-kill-disable      是否阻止 OOM killer 杀死容器,默认没设置
--oom-score-adj       容器被 OOM killer 杀死的优先级,范围是[-1000, 1000],默认为 0
--memory-swappiness     用于设置容器的虚拟内存控制行为。值为 0~100 之间的整数
--kernel-memory       核心内存限制。格式同上,最小为 4M

查看事例:

[root@sannian ~]# docker run -d -m 1G --memory-swap 3G -p 9999:80 --restart=always --name gitlab twang2218/gitlab-ce-zh
a3254078a79a084f3f3bed5f4ade3e26c7d86951cd822d95b113227d75b00097
[root@sannian ~]# docker ps
CONTAINER ID    IMAGE          COMMAND       CREATED       STATUS          PORTS                  NAMES
a3254078a79a    twang2218/gitlab-ce-zh  "/assets/wrapper"  21 minutes ago   Up 2 minutes (healthy)  22/tcp, 443/tcp, 0.0.0.0:9999->80/tcp  gitlab
[root@sannian ~]# docker images
REPOSITORY                        TAG         IMAGE ID      CREATED       SIZE
twang2218/gitlab-ce-zh                  latest       18da462b5ff5    3 months ago    1.61GB
registry-vpc.cn-hangzhou.aliyuncs.com/wenty/jumpserver  latest       055f42f305f5    7 months ago    1.41GB
registry.cn-hangzhou.aliyuncs.com/wenty/jumpserver    latest       055f42f305f5    7 months ago    1.41GB
registry.jumpserver.org/public/jumpserver        1.0.0        055f42f305f5    7 months ago    1.41GB
registry.jumpserver.org/public/jumpserver        latest       055f42f305f5    7 months ago    1.41GB

补充:docker run -m指定内存大小不生效

执行docker run的时候,想要指定一下内存大小,用了-m参数

报错如下

#docker run -id -m 3g -p 7001:7001 197.3.16.51/sysmgr/mywebapptest_app_weblogic:20180820047 WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. 52380a4896f3f916cd0f95f97e233b30d9406840e10c0c53484b3be9000d0321

然后发现虽然我设置堆大小为5G,容器还是创建出来了,3g的限制并没有生效。

查阅资料发现这个报错是因为宿主机内核的相关功能没有打开。

解决方案

按照下面的设置就行

step 1:

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX一行改为

GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

step 2:

更新 GRUB,即执行$ sudo update-grub

step 3:

重启系统。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • Docker的基本概念、安装步骤以及一些简单的用法

    Docker的基本概念、安装步骤以及一些简单的用法

    Docker 是一种开源的容器化平台,允许开发者打包应用及其依赖项到一个可移植的容器中,容器可以在任何支持Docker的环境中运行,这使得应用的部署和管理变得更加简单和高效,本文介绍Docker的基本概念、安装步骤以及一些简单的用法,感兴趣的朋友一起看看吧
    2024-11-11
  • 如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

    如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

    本文介绍了如何使用Docker部署FTP服务器和Nginx,并通过HTTP访问FTP中的文件,通过将FTP数据目录挂载到Nginx容器内,Nginx可以提供文件列表和下载功能,推荐使用Docker Compose来管理容器
    2025-03-03
  • docker安装jenkins的过程并配置jdk、node和maven

    docker安装jenkins的过程并配置jdk、node和maven

    本文介绍了如何从拉取Jenkins镜像开始,通过创建文件夹、准备JDK、Maven和Node环境,修改settings.xml支持http协议,到建立Dockerfile进行Jenkins镜像的二次打包,同时涉及容器的运行、Jenkins初始化设置、插件安装和环境变量配置等步骤,帮助用户成功部署并运行Jenkins服务
    2024-10-10
  • 在CentOS系统中轻松安装和配置Docker全过程

    在CentOS系统中轻松安装和配置Docker全过程

    这篇文章主要介绍了在CentOS系统中轻松安装和配置Docker全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Docker 实现浏览器里开发Android应用的功能

    Docker 实现浏览器里开发Android应用的功能

    这篇文章主要介绍了Docker 实现浏览器里开发Android应用的功能的相关资料,这里对布置环境做了详细的步骤,也许你能用到这样的功能,需要的朋友可以参考下
    2016-11-11
  • Docker安装RabbitMQ的超详细步骤

    Docker安装RabbitMQ的超详细步骤

    RabbitMQ是一套开源的消息队列服务软件,是由LShift提供的一个 Advanced Message Queuing Protocol的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成,这篇文章主要给大家介绍了关于Docker安装RabbitMQ的超详细步骤,需要的朋友可以参考下
    2022-08-08
  • docker实现将本地文件复制到docker容器内

    docker实现将本地文件复制到docker容器内

    这篇文章主要介绍了docker实现将本地文件复制到docker容器内方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 在宿主机上执行docker容器内部的shell或程序方式

    在宿主机上执行docker容器内部的shell或程序方式

    这篇文章主要介绍了在宿主机上执行docker容器内部的shell或程序方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 详解利用Dockerfile构建mysql镜像并实现数据的初始化及权限设置

    详解利用Dockerfile构建mysql镜像并实现数据的初始化及权限设置

    本篇文章主要介绍了详解利用Dockerfile构建mysql镜像并实现数据的初始化及权限设置 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Docker中Java基础镜像OpenJDK和OracleJDK使用方法

    Docker中Java基础镜像OpenJDK和OracleJDK使用方法

    OpenJDK是Java社区的核心项目,由全球各地的开发者共同参与开发和维护,OracleJDK在OpenJDK的基础上添加了一些商业功能和工具,这篇文章主要给大家介绍了关于Docker中Java基础镜像OpenJDK和OracleJDK使用方法的相关资料,需要的朋友可以参考下
    2024-06-06

最新评论