CentOS 上 Docker 资源管理实践
一 核心维度与常用参数
二 快速上手示例
docker run -d --name app --cpus=1.5 -m 512m --memory-swap=1g nginx:alpinedocker run -d --name app2 --cpuset-cpus="0,1" nginx:alpinedocker run -it --device-write-bps=/dev/sda:30MB centos:7 dd if=/dev/zero of=test bs=1M count=300 oflag=directversion: "3.8"
services:
web:
image: nginx:alpine
deploy:
resources:
limits:
cpus: "1"
memory: "512M"
reservations:
cpus: "0.5"
memory: "256M"
三 验证与观测
docker stats(观察 CPU%、MEM USAGE/LIMIT、MEM %、NET I/O、BLOCK I/O 等)。docker run --rm progrium/stress --cpu 2(配合不同 –cpus/–cpu-shares 观察争用效果)。docker run --rm -m 200M progrium/stress --vm 1 --vm-bytes 280M(接近限额可成功,超过将被 OOM 终止)。四 存储与日志治理
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "5"
}
}
systemctl restart docker。systemctl stop dockerrsync -aqxP /var/lib/docker/ /home/docker/mv /var/lib/docker /var/lib/docker.bak"data-root": "/home/docker"systemctl start dockerdocker system prune -a(谨慎,会删除停止容器、悬挂镜像、未使用网络等);docker volume prune(清理未使用卷)。五 进阶与注意事项