当前位置: 首页 > 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.gsyq.cn/news/8702.html

相关文章:

  • 配置Spring框架以连接SQL Server数据库
  • 这一辈子大多数日子是无聊的
  • Elasticsearch面试精讲 Day 11:索引模板与动态映射 - 指南
  • Go 实现验证码识别
  • 跳出 AI 编程的「兔子洞」,4 个实战策略帮你解决90%的死循环
  • 暗黑破坏神4 任务-坚守传统-向古老的雕像展示你坚守的传统
  • C++编程软件 Dev-C++ 安装及使用流程
  • DLL植入漏洞分类与微软安全响应指南
  • 市场交易反心理特征之二:忽视热点切换的苗头
  • 贪心算法应用:投资组合再平衡问题详解 - 实践
  • MCP:Trae中集成Playwright 实现网页自动化测试
  • C语言中的字符、字符串及内存操作函数详细讲解
  • 06、訊息收集
  • 精选 4 款基于 .NET 开源、功能强大的 Windows 系统优化工具,助力轻松提升 Windows 系统性能与使用体验!
  • 深入解析:rook-ceph自定义添加osd流程
  • Proxy 库解析(二)
  • 【Python3教程】Python3高级篇之JSON材料解析
  • 流行的 3D 文件格式及其用途指南
  • 深入解析:手搓一个 DELL EMC Unity存储系统健康检查清单
  • 实用指南:Spring Boot 读取 YAML 配置文件
  • 线程池未争取关闭导致的一个bug
  • 【500 kHz-6 GHz“全频段通吃”神器】 ——成都恒利泰
  • 成都恒利泰——【5 MHz-1 GHz“信号分身术”神器】
  • 详细介绍:【智慧城市】2025年中国地质大学(武汉)暑期实训优秀作品(2):智慧城市西安与一带一路
  • OpenCV-图像通道提取与处理
  • Mac环境安装Nginx指南实录
  • N皇后问题(DFS)
  • android studio发现设备立刻就掉
  • 见证语音领域 GPT-3 时刻!小米开源端到端语音模型 MiMo Audio;Xbox上线游戏助手,实时游戏理解+语音交互丨日报
  • go语言学习之基本数据类型转字符串