一、学习目标

掌握 CentOS7 下Docker 前置环境配置内核参数优化本地 YUM 源搭建vsftpd 共享双机互通,完成容器云基础环境部署,为后续 Docker 安装与容器运行打下坚实基础。

二、核心环境规划

  • 两台 CentOS7 虚拟机:Server、Client
  • 配置:4G 内存 / 40G 硬盘,VMnet8 NAT 模式
  • 静态 IP:Server=10.XX.3.137、Client=10.XX.3.138(XX 为学号后两位)
  • 网关:10.XX.3.1;DNS:114.114.114.114

三、实战步骤复盘

1. 基础环境初始化

 主机名修改

  1. 网络配置(nmtui)

  2. nmtui  # 图形化配置IP/网关/DNS
    systemctl restart network
    
  3. 关闭防火墙与 SELinux
  4. systemctl stop firewalld
    systemctl disable firewalld
    setenforce 0
    vi /etc/selinux/config  # SELINUX=disabled
    

    2. 内核转发开启(Docker 必备)

    bash

    运行

    vi /etc/sysctl.conf
    # 添加
    net.ipv4.ip_forward = 1
    net.ipv4.conf.default.rp_filter = 0
    net.ipv4.conf.all.rp_filter = 0
    
    sysctl -p  # 生效
    

    两台机器均需配置,确保容器网络正常转发。

    3. 主机名解析(/etc/hosts)

    bash

    运行

    vi /etc/hosts
    # 两台都添加
    10.XX.3.137 server
    10.XX.3.138 client
    

    无需重启,立即生效,实现双机互通。

    4. Server 端:更换 YUM 源 + 安装 vsftpd

    bash

    运行

    # 腾讯源
    curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tencent.com/repo/centos7_base.repo
    yum clean all && yum makecache
    
    # 安装vsftpd
    yum -y install vsftpd
    vi /etc/vsftpd/vsftpd.conf  # 末尾加 anon_root=/opt/
    systemctl start vsftpd
    systemctl enable vsftpd
    

    验证:curl ftp://server 能访问即成功。

    5. 镜像挂载与本地源制作

  5. 挂载 chinaskills_cloud_paas.iso
  6. bash

    运行

    mount /dev/cdrom /mnt
    mkdir /opt/paas
    cp -rvf /mnt/* /opt/paas
    umount /mnt
    
  7. 生成 repodata(关键)
  8. yum install -y createrepo
    createrepo /opt/paas
    ls /opt/paas/repodata/  # 检查repomd.xml
    
  9. 挂载 CentOS ISO
  10. bash

    mount /dev/cdrom /mnt
    mkdir /opt/centos
    cp -rvf /mnt/* /opt/centos
    umount /mnt
    

    6. 双机本地 YUM 源配置

    Server 端(本地 file)
    mkdir /etc/yum.repos.d/bak
    mv /etc/yum.repos.d/* bak/
    vi /etc/yum.repos.d/docker.repo
    
    [docker]
    name=docker
    baseurl=file:///opt/paas
    gpgcheck=0
    enabled=1
    
    [centos]
    name=centos
    baseurl=file:///opt/centos
    gpgcheck=0
    enabled=1
    
    yum clean all && yum makecache
    
    Client 端(FTP 远程)
    mkdir /etc/yum.repos.d/bak
    mv /etc/yum.repos.d/* bak/
    vi /etc/yum.repos.d/docker.repo
    
    [docker]
    name=docker
    baseurl=ftp://server/paas
    gpgcheck=0
    enabled=1
    
    [centos]
    name=centos
    baseurl=ftp://server/centos
    gpgcheck=0
    enabled=1
    
    yum clean all && yum makecache
    

    验证:yum repolist 能看到 docker/centos 源即成功。

    四、关键知识点总结

  11. 网络是基础:静态 IP、双机互通、防火墙 / SELinux 关闭缺一不可。
  12. 内核参数ip_forward=1 是 Docker 网络通信的核心前提。
  13. 本地 YUM 优势:离线部署、速度快、稳定,适合实训 / 内网环境。
  14. FTP 共享:实现单节点制作源、多节点共用,提升效率。
  15. createrepo:必须执行,否则 YUM 无法识别软件包。
  16. nmtui 配置后网络不通
    • 检查 VMnet8 网段与虚拟机 IP 是否一致
    • 重启 network 服务:systemctl restart network
  17. vsftpd 无法访问
    • 防火墙 / SELinux 未关闭
    • 配置文件anon_root路径错误
  18. YUM 缓存失败
    • 镜像未完整拷贝
    • createrepo 未执行或路径错误
  19. Client 连不上 FTP 源
    • /etc/hosts 未配置
    • Server 端 vsftpd 未启动

          

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐