一、实验概述

本实验以 CentOS 7 为基础环境,完成两台虚拟机(Server/Client)系统与网络配置Docker 社区版安装本地 YUM 源搭建私有镜像仓库部署镜像分发与容器验证全流程,掌握容器化基础环境搭建、镜像管理、仓库运维与跨节点容器验证能力。

二、实验核心内容

(一)第一阶段:系统与网络基础配置

  1. 虚拟机规划
    • Server:10.XX.3.137/24;Client:10.XX.3.138/24,配置网关与 DNS。
    • 修改主机名、关闭防火墙与 SELinux,开启内核转发。
  2. 网络与 hosts 配置
    • 两台节点均配置 /etc/sysctl.conf 开启 IP 转发。
    • /etc/hosts 绑定 Server/Client 域名与 IP,实现域名互通。
  3. 本地 YUM 源搭建
    • 挂载 ISO 镜像,拷贝文件至 /opt 目录。
    • 安装 createrepo 生成元数据,配置本地与 FTP 远程 YUM 源,完成缓存重建。
  4. VSFTPD 服务部署
    • 安装并配置匿名访问根目录,实现 Server 与 Client 共享文件。

(二)第二阶段:Docker 安装与基础命令实践

  1. Docker-CE 安装
    • 通过本地 YUM 源安装 Docker,启动并设置开机自启,Client 节点同步操作。
  2. 镜像与容器基础操作
    • 加载 httpd 镜像,查看镜像 ID。
    • 创建后台容器,映射 8080 端口,设置重启策略。
    • Client 节点 curl 验证页面访问正常。
    • 进入容器执行系统查询、服务启动等操作,完成停止与删除容器练习。

(三)第三阶段:私有 Registry 仓库部署与镜像分发

  1. 本地 Registry 部署
    • 上传 registry 镜像并加载,以挂载目录方式启动容器,映射 5000 端口。
    • 配置 daemon.json 允许非安全 HTTP 仓库,重启 Docker 生效。
  2. 镜像打标与推送
    • 对本地镜像按 server:5000/名称:标签 格式打标。
    • 将镜像推送至私有仓库,curl 验证仓库目录。
  3. Client 节点拉取与验证
    • Client 配置相同私有仓库地址,重启 Docker。
    • 查询仓库镜像与标签,拉取 httpd 镜像,本地验证镜像存在。
    • 参照第二阶段创建容器,验证服务可用。

三、实验关键成果

  1. 完成 CentOS 7 容器化环境标准化配置,网络与域名互通正常。
  2. 搭建本地与 FTP 远程 YUM 源,满足离线安装依赖需求。
  3. 掌握 Docker 安装、镜像加载、容器创建 / 进入 / 停止 / 删除全流程。
  4. 部署私有 Registry 仓库,实现镜像打标、推送、跨节点拉取与验证。
  5. 完成 httpd 服务容器化部署与远程访问验证,业务可用。

四、实验难点与解决方法

  1. 私有仓库 HTTPS 限制
    • 问题:默认 HTTPS 导致推送失败。
    • 解决:/etc/docker/daemon.json 添加 insecure-registries 并重启 Docker。
  2. 网络不通
    • 问题:Client 无法访问 Server 服务。
    • 解决:关闭防火墙与 SELinux,正确配置 hosts 与 IP 网段。
  3. YUM 源失效
    • 问题:本地源无法安装软件。
    • 解决:正确挂载 ISO、完整拷贝文件、重新生成 repodata 并重建缓存。

五、实验总结

本次实验覆盖系统网络、软件源、Docker 引擎、私有仓库、容器业务五大核心环节,完整复现企业离线容器化部署场景。通过实验掌握虚拟机标准化配置、本地源搭建、Docker 基础运维、私有 Registry 管理与跨节点镜像分发能力,为后续 Kubernetes 与云原生学习奠定扎实基础。

更多推荐