CentOS Docker 安装、Docker国内镜像仓库、使用proxy代理配置、docker-compose安装指南
引言
在Linux服务器环境中,Docker已成为容器化部署的标准工具,尤其对于CentOS系统而言,其稳定性与兼容性使其成为企业级应用的首选。本文将详细介绍如何在CentOS上安装Docker、配置国内镜像仓库加速、设置HTTP代理以及安装docker-compose,帮助开发者快速搭建高效的容器化环境。
一、CentOS Docker安装
1.1 系统要求与准备
- 系统版本:推荐CentOS 7或CentOS 8(需注意CentOS 8已于2021年底停止维护,建议使用CentOS Stream或迁移至Rocky Linux/AlmaLinux)。
- 内核版本:Docker要求内核版本≥3.10,可通过
uname -r命令检查。 - 依赖安装:
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
- 国内镜像源推荐:
- 阿里云:
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo - 腾讯云:
https://mirrors.cloud.tencent.com/docker-ce/linux/centos/docker-ce.repo
替换命令示例:sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 阿里云:
1.3 安装Docker CE
- 更新缓存并安装:
sudo yum makecache fastsudo yum install -y docker-ce docker-ce-cli containerd.io
- 启动并设置开机自启:
sudo systemctl start dockersudo systemctl enable docker
- 验证安装:
sudo docker run hello-world
二、Docker国内镜像仓库配置
2.1 镜像加速原理
国内用户访问Docker Hub可能面临速度慢或无法连接的问题,通过配置镜像加速器可显著提升拉取速度。
2.2 配置步骤
- 阿里云加速器(需登录阿里云容器镜像服务获取专属地址):
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{"registry-mirrors": ["https://<your-aliyun-id>.mirror.aliyuncs.com"]}EOF
- 通用配置(使用公共加速器):
{"registry-mirrors": ["https://registry.docker-cn.com","https://hub-mirror.c.163.com","https://mirror.baidubce.com"]}
- 重启Docker服务:
sudo systemctl daemon-reloadsudo systemctl restart docker
三、使用Proxy代理配置
3.1 场景需求
当服务器位于内网或需通过代理访问外网时,需配置Docker使用HTTP/HTTPS代理。
3.2 配置方法
- 系统级代理(影响所有Docker操作):
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"EOF
- 仅对构建上下文生效(在Dockerfile中配置):
ENV HTTP_PROXY=http://proxy.example.com:8080ENV HTTPS_PROXY=http://proxy.example.com:8080
- 应用配置并重启:
sudo systemctl daemon-reloadsudo systemctl restart docker
四、docker-compose安装
4.1 安装方式
- 二进制包安装(推荐):
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
- PIP安装(需Python环境):
sudo pip install docker-compose
4.2 验证安装
docker-compose --version
4.3 基础使用示例
创建docker-compose.yml文件:
version: '3'services:web:image: nginx:alpineports:- "80:80"db:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: example
启动服务:
docker-compose up -d
五、常见问题与解决
5.1 镜像拉取失败
- 检查镜像地址是否正确
- 确认代理配置是否生效
- 尝试更换镜像源
5.2 权限问题
- 将用户加入docker组:
sudo usermod -aG docker $USERnewgrp docker # 立即生效
5.3 版本兼容性
- 使用
docker --version和docker-compose --version确认版本匹配 - 推荐组合:Docker CE 20.10+ + docker-compose 1.29+
六、最佳实践建议
- 定期更新:使用
yum update docker-ce保持最新版本 - 资源限制:通过
--memory和--cpus参数限制容器资源 - 日志管理:配置
log-driver和log-opts避免磁盘占满 - 安全加固:
- 禁用特权模式(
--privileged=false) - 使用非root用户运行容器
- 定期扫描镜像漏洞(如
docker scan)
- 禁用特权模式(
结论
通过本文的详细步骤,开发者可以在CentOS系统上高效完成Docker的安装、镜像加速配置、代理设置及docker-compose部署。这些优化措施不仅能显著提升开发效率,还能确保容器化应用在复杂网络环境下的稳定运行。建议结合实际业务场景持续优化配置,并关注Docker官方更新以获取最新功能与安全补丁。