优化 Docker 容器性能可以从镜像、资源、运行时、网络、存储、架构等多个层面入手。下面按实战优先级给你一份系统清单。
alpine(注意 libc 兼容性)distrolessubuntu-slimubuntu、centos 完整版(除非必要)FROM python:3.11-alpine
RUNFROM golang:1.21 AS build
WORKDIR /app
COPY . .
RUN go build -o app
FROM alpine
COPY --from=build /app/app /app
docker run -d \
--cpus=2 \
--memory=512m \
--memory-swap=512m \
my-app
例如 Java:
JAVA_OPTS="-Xms256m -Xmx256m"
volumedocker run -v /data/logs:/app/logs my-app
overlay2docker info | grep Storage
docker network create app-net
--network host--init防止僵尸进程:
docker run --init my-app
避免频繁或重健康检查:
HEALTHCHECK --interval=30s CMD curl -f http://localhost/health || exit 1
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
docker statscAdvisor + Prometheusdocker run --read-only my-app
| 问题 | 原因 |
|---|---|
| 启动慢 | 镜像过大 |
| CPU 飙高 | 无限资源 |
| 磁盘爆满 | 日志未限制 |
| 网络慢 | 过多端口映射 |
| OOM | 内存未限制 |
如果你愿意,可以告诉我:
我可以直接给你一套可落地的配置示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。