以下是Linux Docker性能调优的核心技巧,涵盖资源、存储、网络、内核等多方面:
--cpus限制核心数(如--cpus=1.5),或通过--cpuset-cpus绑定指定核心。--cpu-shares(默认1024,数值越大优先级越高)。--memory(如-m 512m),并设置--memory-swap避免过度使用swap。--oom-kill-disable(谨慎使用)。--device-read-bps/--device-write-bps(如--device-read-bps=/dev/sda:10mb)。--blkio-weight调整磁盘IO优先级(范围10-1000,默认500)。overlay2(现代Linux默认),避免aufs/devicemapper。docker image prune -a。--volume挂载到宿主机SSD,或使用tmpfs挂载临时文件。--network=host(牺牲隔离性),默认bridge模式可通过调整内核参数优化。docker network create --driver bridge --subnet=xxx。sysctl -w net.core.somaxconn=65535。sysctl -w net.ipv4.tcp_max_syn_backlog=65535。sysctl -w fs.file-max=1000000。sysctl -w net.ipv4.ip_local_port_range="1024 65535"。--user指定非root用户,减少权限开销。docker stats:查看容器CPU、内存、网络等实时数据。cAdvisor + Prometheus:可视化监控容器资源使用。sysdig/iotop:分析系统调用和I/O瓶颈。docker inspect:查看容器详细配置(如存储驱动、资源限制)。numactl将容器绑定到特定NUMA节点,提升多核性能。--cpu-rt-runtime)。注意:调优需结合具体场景,优先通过基准测试验证效果,避免过度配置影响稳定性。