Docker 对容器数量的理论支持主要取决于宿主机的资源(CPU、内存、存储、网络等)和 Linux 内核的限制。以下是关键点分析:
pid_max
限制(默认值通常为 32768
)。ulimit -n
或 /etc/security/limits.conf
调整(默认通常为 1024
,可提升至百万级)。kmem
)等也会影响实际数量。--network
指定不同模式优化)。alpine
镜像)。bash
# 增加最大进程数
echo "kernel.pid_max=100000" >> /etc/sysctl.conf
# 增加文件描述符限制
echo "fs.file-max=1000000" >> /etc/sysctl.conf
sysctl -p
bash
docker run -it --cpus=0.5 --memory=100m nginx # 限制 CPU 和内存
alpine
基础镜像减少资源占用。docker stats
、cAdvisor
或 Prometheus
实时观察资源使用。Docker 本身没有硬编码的容器数量限制,但需根据 宿主机资源 和 业务需求 权衡。建议:
- 测试环境中可尝试高密度部署。
- 生产环境中优先保证性能和稳定性,结合编排工具横向扩展。
如需进一步调优,可提供具体场景(如容器类型、宿主配置)深入分析。