logo

CentOS Docker全流程指南:安装、镜像加速与编排工具配置

作者:公子世无双2025.10.10 18:46浏览量:60

简介:本文详细讲解CentOS系统下Docker的安装、国内镜像仓库配置、proxy代理设置及docker-compose部署方法,帮助开发者高效构建容器化环境。

CentOS Docker 安装、Docker国内镜像仓库、使用proxy代理配置、docker-compose安装指南

一、CentOS Docker 安装

1.1 安装前准备

在CentOS 7/8系统上安装Docker前,需完成以下基础配置:

  • 系统更新:执行sudo yum update -y确保系统包最新
  • 依赖安装:安装必要依赖sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  • 卸载旧版本:若存在旧版Docker,执行sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

1.2 官方仓库配置

通过yum-utils添加Docker官方仓库:

  1. sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

对于CentOS 8用户,需额外启用PowerTools仓库:

  1. sudo dnf config-manager --set-enabled powertools

1.3 安装与启动

执行以下命令完成安装并启动服务:

  1. sudo yum install docker-ce docker-ce-cli containerd.io
  2. sudo systemctl enable docker
  3. sudo systemctl start docker

验证安装:

  1. sudo docker run hello-world

输出显示”Hello from Docker!”即表示安装成功。

二、Docker国内镜像仓库配置

2.1 镜像加速器原理

国内镜像仓库通过缓存Docker Hub镜像,显著提升pull速度。推荐使用以下加速器:

  • 阿里云镜像(需登录阿里云容器镜像服务获取专属地址)
  • 腾讯云镜像加速器
  • 华为云镜像源
  • 中科大镜像站

2.2 配置方法

编辑Docker配置文件:

  1. sudo mkdir -p /etc/docker
  2. sudo tee /etc/docker/daemon.json <<-'EOF'
  3. {
  4. "registry-mirrors": [
  5. "https://<your-mirror-url>.mirror.aliyuncs.com",
  6. "https://mirror.baidubce.com"
  7. ]
  8. }
  9. EOF

重启Docker服务使配置生效:

  1. sudo systemctl daemon-reload
  2. sudo systemctl restart docker

2.3 验证镜像加速

执行docker info,在输出中查找Registry Mirrors字段确认配置生效。测试拉取镜像:

  1. docker pull nginx:alpine

通过docker images查看镜像信息,确认下载源为国内镜像站。

三、Proxy代理配置

3.1 系统级代理设置

对于需要翻墙拉取镜像的场景,配置环境变量:

  1. sudo tee /etc/profile.d/proxy.sh <<-'EOF'
  2. export HTTP_PROXY=http://proxy-server:port
  3. export HTTPS_PROXY=http://proxy-server:port
  4. export NO_PROXY=localhost,127.0.0.1,.example.com
  5. EOF
  6. source /etc/profile.d/proxy.sh

3.2 Docker守护进程代理

/etc/docker/daemon.json中添加代理配置:

  1. {
  2. "registry-mirrors": ["..."],
  3. "proxies": {
  4. "default": {
  5. "httpProxy": "http://proxy-server:port",
  6. "httpsProxy": "http://proxy-server:port",
  7. "noProxy": "localhost,127.0.0.1"
  8. }
  9. }
  10. }

重启服务后,Docker客户端将自动使用代理。

3.3 容器级代理配置

为特定容器设置代理:

  1. docker run -e HTTP_PROXY=http://proxy-server:port \
  2. -e HTTPS_PROXY=http://proxy-server:port \
  3. nginx:alpine

或通过Dockerfile设置:

  1. ENV HTTP_PROXY=http://proxy-server:port
  2. ENV HTTPS_PROXY=http://proxy-server:port

四、docker-compose安装与使用

4.1 安装方法

推荐使用pip安装最新版本:

  1. sudo yum install -y python3-pip
  2. sudo pip3 install docker-compose

或通过官方脚本安装:

  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

4.2 基本使用示例

创建docker-compose.yml文件:

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

启动服务:

  1. docker-compose up -d

4.3 高级配置技巧

  • 网络配置:通过networks定义自定义网络
    1. networks:
    2. my-net:
    3. driver: bridge
  • 卷管理:使用命名卷持久化数据
    1. volumes:
    2. db-data:
  • 环境变量:通过.env文件管理敏感信息
    1. # .env文件内容
    2. MYSQL_ROOT_PASSWORD=secure_password

五、常见问题解决方案

5.1 权限问题

若执行docker命令报权限错误,将用户加入docker组:

  1. sudo usermod -aG docker $USER
  2. newgrp docker # 立即生效

5.2 镜像拉取失败

检查代理配置是否正确,或尝试指定完整镜像路径:

  1. docker pull registry.cn-hangzhou.aliyuncs.com/library/nginx:latest

5.3 docker-compose版本兼容

确保版本匹配,通过docker-compose --version查看版本,推荐使用v2.x以上版本。

六、最佳实践建议

  1. 镜像管理:定期清理无用镜像docker system prune
  2. 安全配置:禁用root用户直接操作Docker,使用sudo或专用用户
  3. 日志管理:配置日志驱动防止磁盘占满
    1. {
    2. "log-driver": "json-file",
    3. "log-opts": {
    4. "max-size": "10m",
    5. "max-file": "3"
    6. }
    7. }
  4. 资源限制:为容器设置CPU/内存限制
    1. services:
    2. app:
    3. deploy:
    4. resources:
    5. limits:
    6. cpus: '0.5'
    7. memory: 512M

七、总结

通过本文的完整指南,开发者可以在CentOS系统上高效完成:

  1. Docker引擎的标准安装与基础配置
  2. 国内镜像仓库的加速配置,提升3-5倍下载速度
  3. 代理环境的灵活配置,解决网络限制问题
  4. docker-compose的编排使用,简化多容器管理

建议定期关注Docker官方更新,保持系统安全性和性能优化。对于生产环境,建议结合CI/CD流水线实现容器镜像的自动化构建与部署。

相关文章推荐

发表评论

活动