# 限制容器最多使用50%的单个CPU
docker run --cpus="0.5" your_image
# 限制容器使用最多2个CPU核心
docker run --cpus="2" your_image
# 设置CPU共享权重(默认1024)
docker run --cpu-shares=512 your_image # 相对权重
# 硬性内存限制(超过会被OOM killer终止)
docker run -m 512m your_image
# 内存+交换分区限制
docker run -m 512m --memory-swap=1g your_image
# 禁用交换分区
docker run -m 512m --memory-swappiness=0 your_image
# 限制读写速率(单位可以是kb/mb/gb)
docker run --device-read-bps /dev/sda:1mb \
--device-write-bps /dev/sda:1mb \
--device-read-iops /dev/sda:100 \
--device-write-iops /dev/sda:100 your_image
# 使用cgroup v2进行更精细控制
docker run --cgroupns=private --cgroup-parent=/your_cgroup your_image
# 设置实时调度策略(需要--cap-add=sys_nice)
docker run --cap-add=sys_nice --cpu-rt-runtime=950000 your_image
# 使用主机网络模式(牺牲隔离性换取性能)
docker run --network=host your_image
# 调整TCP缓冲区大小
docker run --sysctl net.core.rmem_max=2097152 \
--sysctl net.core.wmem_max=2097152 your_image
# 使用tmpfs内存文件系统
docker run --tmpfs /tmp:rw,size=512m your_image
# 禁用数据页缓存同步
docker run --volume /data --mount type=volume,dst=/data,volume-opt=noatime your_image
# 禁用不必要的安全特性提升性能
docker run --security-opt=seccomp=unconfined \
--cap-add=SYS_ADMIN your_image
# 调整ulimit设置
docker run --ulimit nofile=1024:1024 your_image
# 查看容器资源使用情况
docker stats
# 查看容器详细信息
docker inspect your_container
通过以上方法,您可以有效控制Docker容器的资源使用并优化其性能表现。