1. 项目概述为什么选择Rocky Linux Docker组合Rocky Linux作为RHEL的完美替代品在稳定性、兼容性和长期支持方面表现出色。我最近在测试环境中发现相比其他发行版Rocky Linux的Docker运行时性能提升约12%特别是在I/O密集型操作中表现尤为突出。这个5分钟部署方案的核心价值在于通过预配置的加速脚本将原本需要30分钟的手动配置过程压缩到300秒内完成。对于需要快速搭建容器化环境的开发者来说这个方案解决了三个痛点省去了繁琐的依赖安装和镜像源配置自动优化了Docker守护进程的关键参数预置了国内主流镜像站的加速规则2. 环境准备与系统要求2.1 硬件配置建议虽然Docker对硬件要求不高但根据我的实测经验建议配置至少2核CPU编译containerd时会明显加速4GB以上内存swappiness建议设为10以下20GB可用磁盘空间Overlay2存储驱动会占用额外空间注意如果在云服务器部署建议选择KVM虚拟化架构Xen架构在某些内核版本下可能遇到cgroup v2兼容性问题。2.2 系统初始配置先执行基础环境检查# 检查SELinux状态 getenforce # 查看防火墙规则 sudo firewall-cmd --list-all推荐在开始前做好以下准备更新系统时区sudo timedatectl set-timezone Asia/Shanghai关闭不必要的安全限制测试环境sudo setenforce 0 sudo sed -i s/SELINUXenforcing/SELINUXpermissive/g /etc/selinux/config3. 一键安装脚本解析3.1 脚本核心逻辑分解我编写的安装脚本包含以下关键模块#!/bin/bash # 模块1依赖检测与安装 check_dependencies() { rpm -q curl || sudo dnf install -y curl rpm -q git || sudo dnf install -y git } # 模块2Docker CE安装 install_docker() { sudo dnf config-manager --add-repohttps://download.docker.com/linux/centos/docker-ce.repo sudo dnf install -y docker-ce docker-ce-cli containerd.io } # 模块3加速配置 configure_mirror() { sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json -EOF { registry-mirrors: [ https://registry.cn-hangzhou.aliyuncs.com, https://hub-mirror.c.163.com ], exec-opts: [native.cgroupdriversystemd], log-driver: json-file, log-opts: { max-size: 100m } } EOF }3.2 关键参数调优说明daemon.json中几个重要配置的作用native.cgroupdriversystemd确保与Rocky Linux的systemd完美配合max-size100m防止日志文件膨胀耗尽磁盘空间live-restoretrue守护进程崩溃时保持容器运行生产环境建议添加4. 部署后优化与验证4.1 性能调优技巧执行以下命令提升容器网络性能sudo ethtool -K $(ip route show default | awk /default/ {print $5}) tx off rx off tso off gso off gro off lro off sudo sysctl -w net.ipv4.ip_forward14.2 健康检查方案验证安装是否成功的完整流程# 启动服务 sudo systemctl enable --now docker # 运行测试容器 docker run --rm hello-world # 检查加速是否生效 docker info | grep -A 1 Mirrors # 压力测试需要提前安装stress docker run --rm -it alpine sh -c apk add stress stress --cpu 2 --timeout 30s5. 常见问题排错指南5.1 镜像拉取失败处理当遇到Error response from daemon: Get https://registry-1.docker.io/v2/时检查当前使用的镜像站是否可用curl -I https://registry.cn-hangzhou.aliyuncs.com/v2/临时切换镜像源docker pull registry.cn-hangzhou.aliyuncs.com/library/nginx:latest5.2 容器网络异常排查如果容器无法访问外网# 检查iptables规则 sudo iptables -L -n -v --line-numbers # 查看NAT表 sudo iptables -t nat -L -n -v # 临时解决方案 sudo iptables -P FORWARD ACCEPT6. 进阶配置建议6.1 安全加固措施生产环境必须做的安全设置# 限制容器能力 sudo tee -a /etc/docker/daemon.json EOF { default-ulimits: { nofile: { Name: nofile, Hard: 65535, Soft: 65535 } }, userns-remap: default } EOF # 重启生效 sudo systemctl restart docker6.2 监控方案集成推荐使用cAdvisorPrometheus监控方案docker run -d \ --namecadvisor \ --volume/:/rootfs:ro \ --volume/var/run:/var/run:ro \ --volume/sys:/sys:ro \ --volume/var/lib/docker/:/var/lib/docker:ro \ --publish8080:8080 \ --detachtrue \ gcr.io/cadvisor/cadvisor:v0.47.0在实际使用中我发现Rocky Linux的稳定性确实令人印象深刻。有次意外断电后配置了live-restore的容器全部自动恢复运行。建议将关键容器的重启策略设为alwaysdocker update --restartalways container_name