简谈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。
对应的注释都写在上面,大家可以参考下。