一、CentOS Docker安装指南
Docker作为容器化技术的标杆,在CentOS系统上的部署是开发者构建高效开发环境的第一步。以下步骤基于CentOS 7/8系统,确保系统内核版本≥3.10(通过uname -r命令验证)。
1.1 基础环境准备
首先卸载可能存在的旧版本Docker:
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
安装必要的依赖包:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
1.2 官方仓库配置
添加Docker官方仓库(推荐使用阿里云镜像加速时仍需保留):
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
对于国内用户,建议替换为阿里云镜像源:
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
1.3 安装与启动
安装Docker CE社区版:
sudo yum install -y docker-ce docker-ce-cli containerd.io
启动服务并设置开机自启:
sudo systemctl start dockersudo systemctl enable docker
验证安装:
sudo docker run hello-world
二、Docker国内镜像仓库配置
国内开发者常面临拉取镜像速度慢的问题,配置镜像加速器可提升3-5倍下载速度。
2.1 主流镜像源对比
| 镜像源 | 地址 | 推荐指数 |
|---|---|---|
| 阿里云 | 需登录获取专属地址 | ★★★★★ |
| 腾讯云 | mirror.ccs.tencentyun.com | ★★★★ |
| 华为云 | swr.cn-south-1.myhuaweicloud.com | ★★★ |
| 中科大 | docker.mirrors.ustc.edu.cn | ★★★★ |
2.2 配置方法
编辑daemon配置文件:
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{"registry-mirrors": ["https://<your-aliyun-mirror>.mirror.aliyuncs.com","https://mirror.ccs.tencentyun.com"],"max-concurrent-downloads": 10}EOF
重启Docker服务:
sudo systemctl daemon-reloadsudo systemctl restart docker
验证配置:
docker info | grep "Registry Mirrors" -A 10
三、Proxy代理配置方案
在企业网络或特殊网络环境下,需要配置HTTP/HTTPS代理。
3.1 系统级代理配置
编辑systemd环境文件:
sudo mkdir -p /etc/systemd/system/docker.service.dsudo tee /etc/systemd/system/docker.service.d/http-proxy.conf <<-'EOF'[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"EOF
重新加载并重启:
sudo systemctl daemon-reloadsudo systemctl restart docker
3.2 容器级代理配置
对于单个容器,可在运行命令中指定:
docker run -e HTTP_PROXY=http://proxy.example.com:8080 \-e HTTPS_PROXY=http://proxy.example.com:8080 \alpine echo "Proxy configured"
或通过~/.docker/config.json全局配置:
{"proxies": {"default": {"httpProxy": "http://proxy.example.com:8080","httpsProxy": "http://proxy.example.com:8080","noProxy": "localhost,127.0.0.1"}}}
四、docker-compose安装与使用
docker-compose是管理多容器应用的利器,特别适合微服务架构开发。
4.1 安装方式对比
| 安装方式 | 命令 | 适用场景 |
|---|---|---|
| 官方二进制 | sudo curl -L... |
推荐生产环境使用 |
| pip安装 | pip install docker-compose |
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-compose
验证安装:
docker-compose --version
4.3 基础使用示例
创建docker-compose.yml文件:
version: '3.8'services:web:image: nginx:alpineports:- "80:80"volumes:- ./html:/usr/share/nginx/htmlredis:image: redis:alpinecommand: redis-server --appendonly yes
启动服务:
docker-compose up -d
常用命令:
docker-compose ps # 查看状态docker-compose logs -f # 实时日志docker-compose down # 停止并删除
五、最佳实践建议
- 镜像管理:定期清理无用镜像(
docker image prune),使用标签而非latest - 安全配置:
- 禁用root用户运行容器
- 使用
--read-only挂载根文件系统 - 配置
--cap-drop=ALL减少权限
- 性能优化:
- 合理设置
--ulimit参数 - 使用
--network=host提升网络性能(需谨慎)
- 合理设置
- 备份策略:定期备份
/var/lib/docker目录或使用docker save导出镜像
六、常见问题解决方案
-
启动失败报错:
- 检查
journalctl -u docker日志 - 确认SELinux状态(
getenforce),临时禁用可执行setenforce 0
- 检查
-
镜像拉取超时:
- 验证镜像源配置
- 检查网络代理设置
- 尝试指定具体版本而非latest
-
端口冲突:
- 使用
docker port <容器名>查看映射 - 修改
docker-compose.yml中的端口映射
- 使用
-
存储空间不足:
- 清理旧容器:
docker container prune - 扩展磁盘空间或配置存储驱动
- 清理旧容器:
通过以上配置,开发者可在CentOS系统上构建起高效的Docker开发环境,国内镜像加速可使镜像下载速度提升5-10倍,合理的代理配置能解决特殊网络环境下的访问问题,而docker-compose则大幅简化了多容器应用的管理复杂度。建议定期关注Docker官方安全更新,保持系统处于最新稳定版本。