logo

CentOS环境下Docker生态全流程配置指南

作者:demo2025.10.10 18:49浏览量:3

简介:本文详细介绍CentOS系统下Docker的安装、国内镜像源配置、代理设置及docker-compose部署方法,提供完整的操作流程和常见问题解决方案。

CentOS Docker安装指南

一、CentOS系统下Docker安装

1.1 系统要求与前置检查

Docker官方推荐使用CentOS 7/8系列版本,建议系统内存不低于2GB。安装前需确认:

  • 系统内核版本≥3.10(uname -r查看)
  • 关闭SELinux(临时:setenforce 0;永久:修改/etc/selinux/config
  • 卸载旧版本Docker(yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

1.2 安装步骤

方法一:使用yum仓库安装(推荐)

  1. # 安装依赖包
  2. sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  3. # 添加Docker官方仓库
  4. sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  5. # 安装Docker CE
  6. sudo yum install -y docker-ce docker-ce-cli containerd.io
  7. # 启动服务
  8. sudo systemctl start docker
  9. sudo systemctl enable docker

方法二:二进制包安装(适用于离线环境)

Docker官方仓库下载对应版本的二进制包,解压后将dockerdockerd文件复制到/usr/local/bin/目录,创建systemd服务单元文件。

1.3 验证安装

  1. sudo docker run hello-world

出现”Hello from Docker!”字样表示安装成功。

二、Docker国内镜像仓库配置

2.1 镜像加速器原理

国内镜像仓库通过同步Docker Hub镜像,提供更快的下载速度。常见加速器包括:

  • 阿里云容器镜像服务(需账号)
  • 腾讯云Docker镜像仓库
  • 网易云镜像站
  • 中科大镜像源

2.2 配置方法

2.2.1 修改daemon.json

  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. "insecure-registries": []
  9. }
  10. EOF

2.2.2 常用镜像源配置示例

  • 阿里云(需替换):
    1. "registry-mirrors": ["https://<your-id>.mirror.aliyuncs.com"]
  • 腾讯云:
    1. "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]

2.2.3 重启生效

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

2.3 验证镜像加速

  1. docker info | grep "Registry Mirrors" -A 5

应显示配置的镜像地址。

三、Docker代理配置

3.1 适用场景

  • 企业内网环境
  • 需要通过HTTP/HTTPS代理访问外网
  • 镜像拉取需要认证

3.2 配置方法

3.2.1 系统级代理(影响所有容器)

修改/etc/systemd/system/docker.service.d/http-proxy.conf

  1. [Service]
  2. Environment="HTTP_PROXY=http://proxy.example.com:8080"
  3. Environment="HTTPS_PROXY=http://proxy.example.com:8080"
  4. Environment="NO_PROXY=localhost,127.0.0.1,.example.com"

3.2.2 容器级代理(推荐)

通过--env参数传递代理变量:

  1. docker run --env HTTP_PROXY=http://proxy.example.com:8080 \
  2. --env HTTPS_PROXY=http://proxy.example.com:8080 \
  3. alpine env

3.2.3 认证代理配置

  1. [Service]
  2. Environment="HTTP_PROXY=http://username:password@proxy.example.com:8080"

3.3 验证代理

  1. docker run --rm alpine sh -c 'apk add --no-cache curl && curl -v ifconfig.me'

四、docker-compose安装与使用

4.1 安装方法

4.1.1 二进制包安装(推荐)

  1. # 下载最新版本(替换URL中的版本号)
  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-compose
  3. # 添加执行权限
  4. sudo chmod +x /usr/local/bin/docker-compose
  5. # 验证安装
  6. docker-compose version

4.1.2 pip安装(需Python环境)

  1. sudo pip install docker-compose

4.2 基础使用示例

创建docker-compose.yml文件:

  1. version: '3'
  2. services:
  3. web:
  4. image: nginx:latest
  5. ports:
  6. - "80:80"
  7. volumes:
  8. - ./html:/usr/share/nginx/html
  9. db:
  10. image: mysql:5.7
  11. environment:
  12. MYSQL_ROOT_PASSWORD: example

常用命令:

  1. # 启动服务
  2. docker-compose up -d
  3. # 查看状态
  4. docker-compose ps
  5. # 停止服务
  6. docker-compose down

4.3 高级配置技巧

  • 使用.env文件管理环境变量
  • 通过build指令构建自定义镜像
  • 使用depends_on控制服务启动顺序
  • 配置健康检查(healthcheck指令)

五、常见问题解决方案

5.1 镜像拉取失败

  1. 检查镜像名是否正确
  2. 验证镜像加速器配置
  3. 检查网络连接和代理设置
  4. 尝试手动指定完整镜像路径:docker pull registry.cn-hangzhou.aliyuncs.com/library/nginx:latest

5.2 容器无法访问外网

  1. 检查主机网络配置
  2. 验证容器内/etc/resolv.conf文件
  3. 尝试使用--network host模式运行

5.3 docker-compose版本不兼容

  1. 确认version字段与安装版本匹配
  2. 参考官方版本说明

六、最佳实践建议

  1. 镜像管理

    • 使用私有仓库存储关键镜像
    • 定期清理无用镜像(docker system prune
    • 为镜像打标签(docker tag
  2. 安全配置

    • 限制root用户操作
    • 使用非root用户运行容器
    • 配置SELinux或AppArmor策略
  3. 性能优化

    • 调整存储驱动(overlay2推荐)
    • 配置适当的资源限制
    • 使用cgroups进行资源隔离
  4. 日志管理

    • 配置日志驱动和大小限制
    • 使用docker logs命令排查问题
    • 考虑集中式日志收集方案

通过以上配置,开发者可以在CentOS环境下构建完整的Docker生态体系,显著提升容器化应用的部署效率和管理能力。建议根据实际业务需求,灵活组合使用镜像加速、代理配置和编排工具,构建适合企业环境的容器化解决方案。

相关文章推荐

发表评论

活动