Linux镜像如何共享
小樊
35
2025-11-16 14:00:08
Linux镜像共享的常见场景与做法
- 文件级共享:把 ISO 镜像或解压后的 YUM 仓库目录通过网络共享给多台机器使用(HTTP/Nginx、FTP、NFS、Samba)。
- 容器镜像共享:把 Docker 镜像推送到仓库(如 Docker Hub 或私有仓库)供他人拉取。
- 系统安装共享:搭建 PXE 网络安装环境,让多台主机从同一镜像启动并安装系统。
文件级共享 ISO 或 YUM 仓库
-
HTTP/HTTPS 方式(推荐)
- 服务端:安装 Nginx/Apache,将 ISO 挂载到目录(如 /mnt/iso),或把 ISO 内容解压到 /var/www/html/centos7,启动服务并放行防火墙端口 80/443。
- 客户端:浏览器访问 http://服务器IP/centos7/ 验证;YUM 源配置 baseurl=http://服务器IP/centos7。
- 适用:局域网离线源、跨平台访问、简单可靠。
-
FTP 方式
- 服务端:安装 vsftpd,把 ISO 内容拷贝到 /var/ftp/pub/dvd,启动服务。
- 客户端:使用 ftp://服务器IP/pub/dvd 访问;YUM 源 baseurl=ftp://服务器IP/pub/dvd。
- 适用:已有 FTP 体系或需要匿名下载的场景。
-
NFS 方式(Linux/UNIX 同网段)
- 服务端:安装 nfs-utils,编辑 /etc/exports 导出目录(如 /mnt/iso *(ro,sync)),启动 nfs-server。
- 客户端:创建挂载点并挂载,例如:mount -t nfs 服务器IP:/mnt/iso /mnt/nfs。
- 适用:同网段多台 Linux 主机共享,性能与权限控制友好。
-
Samba 方式(跨平台)
- 服务端:安装 samba,编辑 /etc/samba/smb.conf 定义共享(如 [iso] path=/mnt/iso; read only = no),创建 Samba 用户并启动 smbd/nmbd。
- 客户端:Windows 访问 \服务器IP\iso;Linux 可 mount -t cifs //服务器IP/iso /mnt/smb -o username=xxx。
- 适用:需要同时给 Windows 与 Linux 使用的环境。
容器镜像共享 Docker 镜像
- 登录仓库:docker login(可推送到 Docker Hub 或私有仓库)。
- 打标签:docker tag mycentos:latest 仓库地址/命名空间/mycentos:latest。
- 推送:docker push 仓库地址/命名空间/mycentos:latest。
- 拉取:其他机器执行 docker pull 仓库地址/命名空间/mycentos:latest。
- 适用:应用交付、微服务与 CI/CD 场景。
批量安装共享 PXE 网络启动
- 服务端组件:安装 DHCP、TFTP、xinetd、vsftpd、syslinux。
- 配置 DHCP:指定子网、next-server(TFTP 地址)、启动文件 pxelinux.0。
- 配置 TFTP:启用服务,根目录(如 /tftpboot),拷入 pxelinux.0、vmlinuz、initrd.img,并在 /tftpboot/pxelinux.cfg/default 中配置启动菜单(如 method=ftp://服务器IP/pub/dvd)。
- 准备安装源:把 ISO 内容放到 /var/ftp/pub/dvd。
- 适用:机房/实验室 批量无人值守安装 同版本系统。
客户端挂载与访问要点
- 挂载 ISO 文件:mount -o loop /path/file.iso /mnt/iso(ISO 9660)。
- 挂载 NFS 共享:mount -t nfs 服务器IP:/共享目录 /mnt/nfs。
- 挂载 Samba 共享:mount -t cifs //服务器IP/共享名 /mnt/smb -o username=xxx。
- 访问 HTTP/FTP:浏览器或命令行直接访问 http:///ftp:// 地址;YUM 源 baseurl 指向对应 URL。
- 防火墙与权限:按需放行 80/443/21/2049/139/445 等端口,注意目录权限与 SELinux 策略。