当前位置: 首页 > news >正文

在 macOS 上准备 CentOS 7.5 离线迁移文件的完整指南

本地使用的是 macOS,但目标机器是 CentOS 7.5,我们需要特别小心地准备兼容的安装包。以下是详细步骤:

准备工作:在 macOS 上设置环境

1. 创建工作目录

mkdir -p ~/yapi-offline-migration/centos7.5
cd ~/yapi-offline-migration/centos7.5

2. 下载 CentOS 7.5 兼容的 Docker 安装包

由于你使用的是 macOS,但需要 CentOS 的 RPM 包,你有几种选择:

选项 A:使用 Docker 容器模拟 CentOS 环境(推荐)

# 启动一个 CentOS 7 容器来下载所需的包
docker run -it --name centos-downloader -v $(pwd):/output centos:7 /bin/bash

在容器内执行:

# 更新并安装必要工具
yum update -y
yum install -y yum-utils wget# 添加 Docker CE 仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 下载 Docker CE 及所有依赖(指定兼容版本)
yum install --downloadonly --downloaddir=/output/docker \docker-ce-18.06.3.ce-3.el7 \docker-ce-cli-18.06.3.ce-3.el7 \containerd.io-1.6.26-3.1.el7# 下载系统依赖
yum install --downloadonly --downloaddir=/output/docker \device-mapper-persistent-data \lvm2 \libseccomp# 退出容器
exit

选项 B:手动下载所需 RPM 包

如果无法使用 Docker 容器,你可以手动从以下地址下载:

  • Docker CE: https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
  • 依赖包: http://mirror.centos.org/centos/7/os/x86_64/Packages/

需要下载的具体包(版本可能略有不同):

  • docker-ce-18.06.3.ce-3.el7.x86_64.rpm
  • docker-ce-cli-18.06.3.ce-3.el7.x86_64.rpm
  • containerd.io-1.6.26-3.1.el7.x86_64.rpm
  • device-mapper-persistent-data-0.8.5-3.el7.x86_64.rpm
  • lvm2-7:2.02.187-6.el7_9.5.x86_64.rpm
  • libseccomp-2.3.1-4.el7.x86_64.rpm

3. 下载 Docker Compose

mkdir -p docker-compose
cd docker-compose# 下载兼容的 Docker Compose 版本
curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64 -o docker-compose
chmod +x docker-compose

4. 导出 Docker 镜像

mkdir -p images# 导出 MongoDB 镜像
docker save -o images/mongo.tar mongo:5.0# 导出 YApi 镜像
docker save -o images/yapi.tar registry.cn-hangzhou.aliyuncs.com/anoyi/yapi

5. 备份 MongoDB 数据

mkdir -p app-data# 创建 MongoDB 数据备份
docker exec mongo-yapi mongodump --uri="mongodb://anoyi:anoyi.com@localhost:27017/yapi" --out=/tmp/dump
docker cp mongo-yapi:/tmp/dump app-data/mongodb-dump

6. 复制配置文件

# 复制 docker-compose.yml
cp /path/to/your/docker-compose.yml app-data/# 复制 config.json
cp /path/to/your/config.json app-data/

7. 下载系统工具(可选但推荐)

mkdir -p system-deps# 使用 CentOS 容器下载系统工具
docker run -it --rm -v $(pwd)/system-deps:/output centos:7 /bin/bash -c \"yum install --downloadonly --downloaddir=/output curl wget tar gzip net-tools ca-certificates"

📦 最终文件结构

在 macOS 上准备的目录结构应该是:

~/yapi-offline-migration/centos7.5/
├── docker/                 # Docker CE RPM 包
│   ├── docker-ce-18.06.3.ce-3.el7.x86_64.rpm
│   ├── docker-ce-cli-18.06.3.ce-3.el7.x86_64.rpm
│   ├── containerd.io-1.6.26-3.1.el7.x86_64.rpm
│   └── ...
├── docker-compose/         # Docker Compose 二进制文件
│   └── docker-compose
├── images/                 # Docker 镜像
│   ├── mongo.tar
│   └── yapi.tar
├── app-data/              # 应用数据
│   ├── docker-compose.yml
│   ├── config.json
│   └── mongodb-dump/
└── system-deps/           # 系统依赖包├── curl-7.29.0-*.rpm├── wget-1.14-*.rpm└── ...

🚚 将文件传输到离线 CentOS 7.5 服务器

由于目标机器完全不能联网,你需要使用离线方式传输文件:

方法 1: 使用 USB 驱动器

  1. 将整个 centos7.5 目录复制到 USB 驱动器
  2. 将 USB 驱动器连接到 CentOS 7.5 服务器
  3. 复制文件到服务器上

方法 2: 使用内部网络传输

如果两台机器在同一隔离网络中:

# 在 macOS 上压缩文件
tar -czvf centos7.5-offline.tar.gz centos7.5/# 使用 scp 传输(如果网络允许)
scp centos7.5-offline.tar.gz user@centos-server:/tmp/

方法 3: 使用物理介质

如果完全无网络,可以:

  1. 将文件刻录到 DVD/CD
  2. 使用外接硬盘复制
  3. 使用跨平台文件共享工具(如 HFS+ 格式的驱动器)

🛠️ 在 CentOS 7.5 服务器上的安装步骤

一旦文件传输到 CentOS 7.5 服务器,按照以下步骤安装:

1. 准备环境

# 解压文件(如果使用了压缩包)
tar -xzvf centos7.5-offline.tar.gz -C /tmp/
cd /tmp/centos7.5# 安装基本工具
cd system-deps
sudo yum localinstall -y *.rpm

2. 安装 Docker

cd /tmp/centos7.5/docker# 安装依赖
sudo yum localinstall -y device-mapper-persistent-data-*.rpm lvm2-*.rpm# 安装 Docker CE
sudo yum localinstall -y *.rpm# 启动 Docker
sudo systemctl start docker
sudo systemctl enable docker# 添加用户到 docker 组
sudo usermod -aG docker $(whoami)
# 需要注销重新登录或执行:
newgrp docker

3. 安装 Docker Compose

sudo cp /tmp/centos7.5/docker-compose/docker-compose /usr/local/bin/
sudo chmod +x /usr/local/bin/docker-compose

4. 导入 Docker 镜像

cd /tmp/centos7.5/images
docker load -i mongo.tar
docker load -i yapi.tar

5. 恢复应用和数据

sudo mkdir -p /opt/yapi
sudo cp -r /tmp/centos7.5/app-data/* /opt/yapi/
cd /opt/yapi# 启动服务
docker-compose up -d# 检查状态
docker-compose ps

📋 验证清单

在 macOS 上准备文件时,请确保:

  1. ✅ 所有 RPM 包都是 CentOS 7.5 兼容的 x86_64 版本
  2. ✅ Docker Compose 是 Linux 版本(不是 macOS 版本)
  3. ✅ Docker 镜像已正确导出
  4. ✅ MongoDB 数据已完整备份
  5. ✅ 配置文件已更新为适合生产环境的设置

💡 额外建议

  1. 创建安装脚本:在 macOS 上创建一个安装脚本,简化在 CentOS 上的安装过程
  2. 测试环境:如果可能,先在虚拟机中测试整个迁移过程
  3. 文档记录:记录所有步骤和可能的问题,便于排查
  4. 回滚计划:准备回滚方案,以防迁移失败

这样,你就可以在 macOS 上准备好所有必要的文件,然后在完全离线的 CentOS 7.5 服务器上成功部署 YApi 服务了。

http://www.jsqmd.com/news/660/

相关文章:

  • 2971:抓住那头牛
  • 高效测试的第一步:5个用例设计基础思维模型
  • MFC Button 控件完全指南:从基础到进阶 - 指南
  • Python笔记总结
  • vulnhub靶机:GoldenEye-v1
  • 8465:马走日
  • 性能调优之NUMA调优
  • 深入解析:SpringMVC静态资源与Servlet容器指南
  • CCPC Online 2025 游寄
  • CentOS 7 容器时遇到了 yum update 报错
  • MIT新论文:数据即上限,扩散模型的关键能力来自图像统计规律,而非复杂架构
  • 实用指南:光学神经网络与人工智能应用
  • Zabbix 企业级监控架构实战指南:从搭建、可视化到智能告警
  • 基于MATLAB的视频动态目标跟踪检测搭建方案
  • 第三篇:Windows10/11软件集成与系统优化 - 教程
  • U522155 数据生成(小心电脑)
  • Windows-Appx
  • 实用指南:OSG中osgFX库
  • 2025.9.20——1橙
  • CSP 2025 游记
  • 配置Spring框架以连接SQL Server数据库
  • 这一辈子大多数日子是无聊的
  • Elasticsearch面试精讲 Day 11:索引模板与动态映射 - 指南
  • Go 实现验证码识别
  • 跳出 AI 编程的「兔子洞」,4 个实战策略帮你解决90%的死循环
  • 用 PHP 和 Tesseract OCR 识别英文数字验证码
  • 凝望深渊时,深渊也凝望着你(黑洞与摇钱树)
  • 详细介绍:《Vuejs设计与实现》第 16 章(解析器) 中
  • spring项目部署后为什么会生成 logback-spring.xml记录
  • 【解决】Matlab函数体突然不自动缩进了