CentOS下Docker生态全攻略:安装、镜像、代理与编排
2025.10.10 18:46浏览量:5简介:本文全面介绍了CentOS系统中Docker的安装方法、国内镜像仓库配置、Proxy代理设置及docker-compose的安装流程,为开发者提供一站式解决方案。
CentOS Docker 安装指南
一、环境准备与系统要求
在CentOS系统上部署Docker前,需确认系统版本和硬件配置满足要求。推荐使用CentOS 7或CentOS 8(需注意CentOS 8已进入EOL阶段),最低配置要求2GB内存和20GB磁盘空间。建议使用干净的系统环境,避免与其他容器运行时(如rkt)冲突。
二、Docker官方安装流程
1. 卸载旧版本(如有)
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
2. 安装依赖包
sudo yum install -y yum-utils \device-mapper-persistent-data \lvm2
3. 设置Docker仓库
sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
4. 安装Docker CE
sudo yum install docker-ce docker-ce-cli containerd.io
5. 启动服务
sudo systemctl start dockersudo systemctl enable docker
三、Docker国内镜像加速配置
1. 主流国内镜像源对比
| 镜像源 | 地址 | 特点 |
|---|---|---|
| 阿里云 | https:// |
需登录阿里云控制台获取专属地址 |
| 腾讯云 | https://mirror.ccs.tencentyun.com | 腾讯云用户专用 |
| 华为云 | https:// |
需绑定华为云账号 |
| 中科大 | https://docker.mirrors.ustc.edu.cn | 公开可用,无需认证 |
2. 配置daemon.json
{"registry-mirrors": ["https://registry.docker-cn.com","https://<your-mirror-url>"],"max-concurrent-downloads": 10}
配置文件路径:/etc/docker/daemon.json
3. 重启Docker服务
sudo systemctl daemon-reloadsudo systemctl restart docker
四、Proxy代理配置方案
1. 系统级代理设置
# 临时设置export HTTP_PROXY=http://proxy.example.com:8080export HTTPS_PROXY=http://proxy.example.com:8080# 永久设置(写入/etc/profile)echo 'export HTTP_PROXY=http://proxy.example.com:8080' >> /etc/profileecho 'export HTTPS_PROXY=http://proxy.example.com:8080' >> /etc/profilesource /etc/profile
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"
3. 容器内代理配置
方式一:启动时传递环境变量
docker run -e HTTP_PROXY=http://proxy.example.com:8080 \-e HTTPS_PROXY=http://proxy.example.com:8080 \alpine env
方式二:使用Dockerfile配置
ENV HTTP_PROXY=http://proxy.example.com:8080ENV HTTPS_PROXY=http://proxy.example.com:8080
五、docker-compose安装与使用
1. 安装方法对比
| 方法 | 命令 | 适用场景 |
|---|---|---|
| 官方安装脚本 | curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose |
最新版本,需手动授权 |
| pip安装 | pip install docker-compose |
Python环境已配置的系统 |
| 包管理器安装 | sudo yum install docker-compose |
部分CentOS版本可能滞后 |
2. 推荐安装流程
# 下载最新版本sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 添加执行权限sudo chmod +x /usr/local/bin/docker-compose# 验证安装docker-compose --version
3. 基础使用示例
创建docker-compose.yml
version: '3'services:web:image: nginx:alpineports:- "80:80"volumes:- ./html:/usr/share/nginx/htmldb:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: exampleMYSQL_DATABASE: testdb
常用命令
# 启动服务docker-compose up -d# 查看状态docker-compose ps# 停止服务docker-compose down# 查看日志docker-compose logs -f
六、常见问题解决方案
1. 镜像拉取失败处理
- 检查镜像名称是否正确
- 验证镜像源是否可用
- 清除本地镜像缓存:
docker system prune -a - 检查网络连接和代理设置
2. 端口冲突解决
# 查看端口占用netstat -tulnp | grep <port># 修改docker-compose端口映射ports:- "<new-port>:80"
3. 性能优化建议
- 配置存储驱动为
overlay2(CentOS 7默认) - 调整Docker内存限制:在
/etc/docker/daemon.json中添加{"default-ulimits": {"nofile": {"Name": "nofile","Hard": 65535,"Soft": 65535}}}
- 定期清理无用镜像和容器
七、最佳实践推荐
- 镜像管理:使用多阶段构建减少镜像大小,采用.dockerignore文件排除无关文件
- 安全配置:
- 避免使用root用户运行容器
- 定期更新基础镜像
- 限制容器资源使用
- 编排优化:
- 合理设置restart策略
- 使用healthcheck保持服务可用性
- 配置依赖服务启动顺序
八、进阶技巧
1. 使用BuildKit加速构建
在/etc/docker/daemon.json中添加:
{"features": {"buildkit": true}}
或通过环境变量启用:
export DOCKER_BUILDKIT=1
2. 私有仓库配置
# 登录私有仓库docker login registry.example.com# 推送镜像docker tag my-image registry.example.com/my-repo/my-imagedocker push registry.example.com/my-repo/my-image
3. GPU支持配置
# 安装NVIDIA容器工具包distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.listsudo yum install -y nvidia-docker2sudo systemctl restart docker
通过以上系统化的配置,开发者可以在CentOS环境中构建高效、稳定的Docker生态体系。建议定期关注Docker官方更新和国内镜像源的公告,及时调整配置以获得最佳体验。对于生产环境,建议结合CI/CD流程实现镜像的自动化构建和部署,进一步提升开发效率。

发表评论
登录后可评论,请前往 登录 或 注册