背景

目标服务器在内网/隔离环境,无法直接访问 Docker Hub,或者直连拉取极慢。手边有一台 Mac(有梯子,直连 Docker Hub 很快),于是用它把 Jitsi Meet 的四个核心镜像拉下来,打包成一个 .tar,传到服务器再 docker load 进去。

核心思路:能联网的机器拉镜像 → 打包成单文件 → 拷贝到目标机器 → 导入。这是 Docker 离线迁移镜像的标准套路,适用于任何镜像,不限于 Jitsi。


前置条件

要求
Mac 端 已装 Docker Desktop,能 docker pull 访问 Docker Hub(梯子已开)
服务器端 已装 Docker,且架构与 Mac 拉取的镜像一致(见下方架构一致性问题)
网络 Mac 能 SSH/scp 到目标服务器
磁盘空间 镜像四个加起来约 1~2 GB,打包后差不多大小;两端都要留足空间

⚠️ 架构一致性(最容易踩的坑)

镜像带架构信息(linux/amd64linux/arm64)。Mac 拉什么架构取决于你 pull 时所在的 Docker 环境,不是 Mac 本机的 CPU。

验证方法(拉取后立刻确认):

docker inspect jitsi/web:stable-11031 --format '{{.Architecture}}'
# 必须输出 amd64 才能用于 x86 服务器

若架构不对,删掉重拉:

docker rmi jitsi/web:stable-11031
docker pull --platform linux/amd64 jitsi/web:stable-11031

第一步:在 Mac 上拉取镜像

Jitsi Meet 四个核心组件:web(前端 nginx)、prosody(XMPP)、jicofo(会议焦点)、jvb(视频桥接)。

# 在 Mac 上执行(有梯子,直连 Docker Hub 极快)
docker pull jitsi/web:stable-11031
docker pull jitsi/prosody:stable-11031
docker pull jitsi/jicofo:stable-11031
docker pull jitsi/jvb:stable-11031

如果是 Apple Silicon Mac 且目标服务器是 x86_64,每条 pull 前加 --platform linux/amd64

拉完确认四个都在: