CentOS Docker全攻略:安装、镜像加速、代理配置与compose实战

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命令检查。
  • 依赖安装
    1. sudo yum install -y yum-utils device-mapper-persistent-data lvm2

1.2 官方仓库配置

  • 添加Docker官方仓库(若需国内镜像,可跳过此步直接配置国内源):
    1. 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
      替换命令示例:
      1. sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.3 安装Docker CE

  • 更新缓存并安装:
    1. sudo yum makecache fast
    2. sudo yum install -y docker-ce docker-ce-cli containerd.io
  • 启动并设置开机自启:
    1. sudo systemctl start docker
    2. sudo systemctl enable docker
  • 验证安装:
    1. sudo docker run hello-world

二、Docker国内镜像仓库配置

2.1 镜像加速原理

国内用户访问Docker Hub可能面临速度慢或无法连接的问题,通过配置镜像加速器可显著提升拉取速度。

2.2 配置步骤

  • 阿里云加速器(需登录阿里云容器镜像服务获取专属地址):
    1. sudo mkdir -p /etc/docker
    2. sudo tee /etc/docker/daemon.json <<-'EOF'
    3. {
    4. "registry-mirrors": ["https://<your-aliyun-id>.mirror.aliyuncs.com"]
    5. }
    6. EOF
  • 通用配置(使用公共加速器):
    1. {
    2. "registry-mirrors": [
    3. "https://registry.docker-cn.com",
    4. "https://hub-mirror.c.163.com",
    5. "https://mirror.baidubce.com"
    6. ]
    7. }
  • 重启Docker服务:
    1. sudo systemctl daemon-reload
    2. sudo systemctl restart docker

三、使用Proxy代理配置

3.1 场景需求

当服务器位于内网或需通过代理访问外网时,需配置Docker使用HTTP/HTTPS代理。

3.2 配置方法

  • 系统级代理(影响所有Docker操作):
    1. sudo mkdir -p /etc/systemd/system/docker.service.d
    2. sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf <<-'EOF'
    3. [Service]
    4. Environment="HTTP_PROXY=http://proxy.example.com:8080"
    5. Environment="HTTPS_PROXY=http://proxy.example.com:8080"
    6. EOF
  • 仅对构建上下文生效(在Dockerfile中配置):
    1. ENV HTTP_PROXY=http://proxy.example.com:8080
    2. ENV HTTPS_PROXY=http://proxy.example.com:8080
  • 应用配置并重启
    1. sudo systemctl daemon-reload
    2. sudo systemctl restart docker

四、docker-compose安装

4.1 安装方式

  • 二进制包安装(推荐):
    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-compose
    2. sudo chmod +x /usr/local/bin/docker-compose
  • PIP安装(需Python环境):
    1. sudo pip install docker-compose

4.2 验证安装

  1. docker-compose --version

4.3 基础使用示例

创建docker-compose.yml文件:

  1. version: '3'
  2. services:
  3. web:
  4. image: nginx:alpine
  5. ports:
  6. - "80:80"
  7. db:
  8. image: mysql:5.7
  9. environment:
  10. MYSQL_ROOT_PASSWORD: example

启动服务:

  1. docker-compose up -d

五、常见问题与解决

5.1 镜像拉取失败

  • 检查镜像地址是否正确
  • 确认代理配置是否生效
  • 尝试更换镜像源

5.2 权限问题

  • 将用户加入docker组:
    1. sudo usermod -aG docker $USER
    2. newgrp docker # 立即生效

5.3 版本兼容性

  • 使用docker --versiondocker-compose --version确认版本匹配
  • 推荐组合:Docker CE 20.10+ + docker-compose 1.29+

六、最佳实践建议

  1. 定期更新:使用yum update docker-ce保持最新版本
  2. 资源限制:通过--memory--cpus参数限制容器资源
  3. 日志管理:配置log-driverlog-opts避免磁盘占满
  4. 安全加固
    • 禁用特权模式(--privileged=false
    • 使用非root用户运行容器
    • 定期扫描镜像漏洞(如docker scan

结论

通过本文的详细步骤,开发者可以在CentOS系统上高效完成Docker的安装、镜像加速配置、代理设置及docker-compose部署。这些优化措施不仅能显著提升开发效率,还能确保容器化应用在复杂网络环境下的稳定运行。建议结合实际业务场景持续优化配置,并关注Docker官方更新以获取最新功能与安全补丁。