简谈docker-compose内存控制Java问题

最近在整理docker-compose内存的问题,写了一个模板,供大家参考。

version: '2.3'
services:
  test: #服务名称
    container_name: zidingyi#容器名称
    image: centos:latest
    volumes:
       - "./ceshi:/ceshi"
    environment: #环境变量
      aa: 1
      bb: 2
    network_mode: "host" #网络类型
    cpus: 0.5 #单核的50% CPU数量(默认0.000)
    cpu_shares: 73 #CPU份额
    #cpu_quota: 50000 #限制CPU CFS(完全公平的调度程序)配额,默认单位是微秒,与cpus只能有一个
    #cpu_period: 20ms #限制CPU CFS(完全公平的调度程序)期限,与cpus只能有一个
    cpuset: 0,1 #允许执行的CPU(0-3,0,1)
    mem_limit: 50m #内存限制
    memswap_limit: 50m #交换限制等于内存加交换:“-1”以启用无限交换
    mem_reservation: 50m #内存软限制
    privileged: true #让docker真正具有root权限,可以使用一些特殊命令,如mount。
    command: /ceshi/start.sh #启动时运行脚本
    restart: always

#--cpu-shares:当 CPU 资源充足时,设置 CPU 的权重是没有意义的。只有在容器争用 CPU 资源的情况下,
#CPU 的权重才能让不同的容器分到不同的 CPU 用量。--cpu-shares 选项用来设置 CPU 权重,它的默认值为 1024。
#我们可以把它设置为 2 表示很低的权重,但是设置为 0 表示使用默认值 1024。

对应的注释都写在上面,大家可以参考下。

原文地址:https://www.cnblogs.com/jueshixingkong/p/12440953.html