首页 帮助中心 帮助中心 如何使用Docker来搭建CentOS镜像服务器
如何使用Docker来搭建CentOS镜像服务器
时间 : 2025-04-04 10:13:51 编辑 : 华纳云 阅读量 : 9

  在运维或开发环境中,搭建CentOS镜像服务器可以加快软件安装、系统更新的速度,特别是在离线环境或内网环境下,能够减少外网依赖,提高效率。那么,如何使用Docker搭建一个本地CentOS镜像服务器,让局域网内的服务器能够快速拉取CentOS相关软件包。

  为什么使用Docker搭建CentOS镜像服务器?

  Docker让部署和维护更加简单,即使官方源宕机,本地镜像依然可用。同时它可以节省带宽,多个服务器从本地镜像下载RPM包,而不是直接访问外网源。内网下载速度远远快于从公网拉取,减少等待时间。

  在开始之前,你需要一台运行Docker的CentOS服务器(或其他Linux服务器)。

  安装 Docker:

  如果你的服务器还没有安装 Docker,可以使用以下命令安装:

  # 卸载旧版本(如果有)
  sudo yum remove -y docker docker-common docker-selinux docker-engine

  # 安装依赖包
  sudo yum install -y yum-utils device-mapper-persistent-data lvm2

  # 添加 Docker 源
  sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

  # 安装 Docker
  sudo yum install -y docker-ce docker-ce-cli containerd.io

  # 启动 Docker 并设置开机自启
  sudo systemctl start docker
  sudo systemctl enable docker

  安装 Docker Compose(可选):

  如果你希望使用 docker-compose 来管理服务,可以安装它:

  sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  sudo chmod +x /usr/local/bin/docker-compose
  docker-compose --version

  使用Docker搭建CentOS本地镜像服务器

  我们使用rsync同步CentOS官方源,并用nginx 提供HTTP访问服务。

  拉取官方CentOS镜像:

  首先,我们需要获取 CentOS 官方镜像:

 docker pull centos:7

  你也可以选择 CentOS 8 或 Stream 版本:

 docker pull centos:8

  创建本地CentOS镜像目录:

 mkdir -p /opt/centos-mirror
 cd /opt/centos-mirror

  使用Rsync下载CentOS官方源:

  我们可以使用 rsync 同步官方源,这样可以获得完整的 RPM 包。

  同步 CentOS 7 官方源:

 rsync -avz --delete rsync://mirrors.kernel.org/centos/7/ /opt/centos-mirror/

  同步 CentOS 8 官方源:

 rsync -avz --delete rsync://mirrors.kernel.org/centos/8/ /opt/centos-mirror/

  注意:

  这个过程可能会花费较长时间,具体的取决于网络速度和源的大小。

  可以使用nohup或screen让同步在后台运行:

 nohup rsync -avz --delete rsync://mirrors.kernel.org/centos/7/ /opt/centos-mirror/ &

  使用Docker运行Nginx作为HTTP服务器

  我们使用 nginx 作为本地镜像服务器的 HTTP 服务器:

  docker run -d --name centos-mirror \
    -p 8080:80 \
    -v /opt/centos-mirror:/usr/share/nginx/html:ro \
    nginx

  配置CentOS服务器使用本地镜像源:

  在局域网内其他服务器上,修改 yum 源配置,使用我们的本地镜像服务器。

  编辑 /etc/yum.repos.d/CentOS-Base.repo:

 sudo vim /etc/yum.repos.d/CentOS-Base.repo

  修改 [base]、[updates]、[extras] 源,指向我们本地的 Nginx 镜像服务器(假设服务器 IP 是 192.168.1.100):

  [base]
  name=CentOS-7 - Base
  baseurl=http://192.168.1.100:8080/7/os/x86_64/
  gpgcheck=0
  enabled=1

  [updates]
  name=CentOS-7 - Updates
  baseurl=http://192.168.1.100:8080/7/updates/x86_64/
  gpgcheck=0
  enabled=1

  [extras]
  name=CentOS-7 - Extras
  baseurl=http://192.168.1.100:8080/7/extras/x86_64/
  gpgcheck=0
  enabled=1

  保存并退出,然后清理原来的缓存并重新生成缓存:

  sudo yum clean all
  sudo yum makecache

  测试本地源是否生效:

 sudo yum repolist

  如果 repolist 输出了 base, updates, extras,说明本地 CentOS 镜像服务器已经搭建成功!

华纳云 推荐文章
新加坡高防服务器上怎么部署Docker容器化应用 新加坡服务器docker容器删除后数据还在吗 怎么给docker容器配置root权限?几个常见方法 香港服务器怎么搭建docker加速器? Docker Compose是提升多容器应用管理效率的关键工具 排查docker中出现connection refused错误的原因 Docker安装和运行及删除应用程序的操作方法 Docker中设置Apache web服务器的方法 如何在Ubuntu服务器上成功搭建docker Docker容器中如何设置apache Web服务器
活动
客服咨询
7*24小时技术支持
技术支持
渠道支持