CentOS环境下Docker生态全流程配置指南
一、CentOS Docker基础安装与配置
1.1 系统环境准备
在CentOS 7/8系统上安装Docker前,需完成以下准备工作:
- 确认系统版本:
cat /etc/redhat-release - 关闭防火墙临时规则(测试环境):
systemctl stop firewalld - 安装必要依赖:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
1.2 官方仓库配置
推荐使用阿里云镜像加速的Docker CE仓库:
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
对于教育网用户,可替换为清华源:
sudo yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
1.3 安装与启动
执行安装命令并验证版本:
sudo yum install docker-ce docker-ce-cli containerd.iosudo systemctl start dockersudo docker --version # 应显示Docker版本信息
1.4 基础配置优化
创建非root用户操作权限:
sudo usermod -aG docker $USERnewgrp docker # 立即生效
配置开机自启:
sudo systemctl enable docker
二、国内镜像仓库配置方案
2.1 镜像源选择对比
| 镜像源 | 速度评级 | 稳定性 | 适用场景 |
|---|---|---|---|
| 阿里云 | ★★★★★ | ★★★★☆ | 企业生产环境 |
| 腾讯云 | ★★★★☆ | ★★★★☆ | 混合云环境 |
| 清华TUNA | ★★★★☆ | ★★★★★ | 教育科研机构 |
| 中科大 | ★★★☆☆ | ★★★★☆ | 科学计算场景 |
2.2 配置文件详解
编辑/etc/docker/daemon.json文件:
{"registry-mirrors": ["https://<your-aliyun-id>.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn"],"insecure-registries": ["私服地址"],"max-concurrent-downloads": 10}
配置后执行重启:
sudo systemctl daemon-reloadsudo systemctl restart docker
2.3 镜像加速验证
执行拉取测试:
docker pull nginx:latestdocker images | grep nginx
正常情况应在10秒内完成下载。
三、代理配置深度实践
3.1 系统级代理设置
编辑/etc/profile添加:
export HTTP_PROXY=http://proxy.example.com:8080export HTTPS_PROXY=http://proxy.example.com:8080export NO_PROXY=localhost,127.0.0.1,.example.com
使配置生效:
source /etc/profile
3.2 Docker守护进程代理
在/etc/systemd/system/docker.service.d/http-proxy.conf中配置:
[Service]Environment="HTTP_PROXY=http://proxy.example.com:8080"Environment="HTTPS_PROXY=http://proxy.example.com:8080"Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
应用配置:
sudo systemctl daemon-reloadsudo systemctl restart docker
3.3 容器内代理配置
创建容器时传递环境变量:
docker run -e HTTP_PROXY=http://proxy.example.com:8080 \-e HTTPS_PROXY=http://proxy.example.com:8080 \alpine echo "Proxy configured"
四、docker-compose高级部署
4.1 安装方式对比
| 安装方式 | 适用场景 | 版本控制 |
|---|---|---|
| pip安装 | Python环境 | 灵活 |
| 二进制包安装 | 生产环境 | 稳定 |
| 源码编译安装 | 定制化需求 | 复杂 |
4.2 二进制包安装流程
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-composedocker-compose --version
4.3 基础使用示例
创建docker-compose.yml文件:
version: '3.8'services:web:image: nginx:latestports:- "80:80"volumes:- ./html:/usr/share/nginx/htmldb:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: example
执行命令:
docker-compose up -d # 后台启动docker-compose ps # 查看状态docker-compose down # 停止服务
4.4 生产环境优化
- 网络配置:
networks:frontend:driver: bridgeipam:config:- subnet: 172.16.238.0/24
- 资源限制:
deploy:resources:limits:cpus: '0.5'memory: 512M
五、常见问题解决方案
5.1 镜像拉取失败处理
- 检查镜像名是否正确
- 验证代理配置:
curl -v https://registry.hub.docker.com/v2/
- 清除Docker缓存:
docker system prune -a
5.2 端口冲突解决
查找占用端口进程:
sudo netstat -tulnp | grep :8080
修改docker-compose端口映射或终止冲突进程。
5.3 性能调优建议
- 调整存储驱动:
sudo vi /etc/docker/daemon.json{"storage-driver": "overlay2"}
- 配置日志驱动:
{"log-driver": "json-file","log-opts": {"max-size": "10m","max-file": "3"}}
六、最佳实践总结
- 镜像管理:建立私有仓库+公共镜像源的混合使用策略
- 安全配置:定期更新Docker版本,限制容器权限
- 监控体系:集成Prometheus+Grafana监控容器指标
- 备份策略:使用
docker save定期备份关键镜像
通过以上配置,可在CentOS系统上构建高效稳定的Docker环境,满足从开发测试到生产部署的全流程需求。建议定期检查Docker官方文档更新,保持系统配置与最新安全实践同步。