docker 迁移

第一步:源服务器打包镜像

bash

复制代码
docker save zj/vllm-zj-v100:v20260530 | gzip > vllm-zj-v100-20260530.tar.gz

第二步:同步三样东西

bash

复制代码
# 1. 镜像包
scp vllm-zj-v100-20260530.tar.gz root@新服务器IP:/tmp/

# 2. compose 文件(放到新服务器对应目录)
scp docker-compose.yml root@新服务器IP:/data/metahuman_work/ZengKingMorphe/zj-aha-vllm-v100/

# 3. 模型目录(大文件,用 rsync)
rsync -avP /data/metahuman_work/models/ root@新服务器IP:/data/metahuman_work/models/

第三步:新服务器导入并启动

bash

复制代码
gunzip -c /tmp/vllm-zj-v100-20260530.tar.gz | docker load
docker images | grep vllm-zj-v100

cd /data/metahuman_work/ZengKingMorphe/zj-aha-vllm-v100
docker compose up -d
docker logs -f zj-vllm-Qwen3-14B-AWQ

🔍 启动前还要确认两件事

① 模型目录路径要一致

compose 里挂载的是 /data/metahuman_work/models:/models,命令里引用的是 /models/Qwen3-14B-AWQ。所以新服务器上模型必须放在 /data/metahuman_work/models/Qwen3-14B-AWQ,路径一个字都不能差,否则容器内找不到模型。

② 模型目录内容要完整

确认 Qwen3-14B-AWQ 里有:

  • 模型权重(.safetensors 等)

  • qwen3_nonthinking.jinja(命令里用到了,缺了会启动失败)

bash

复制代码
ls /data/metahuman_work/models/Qwen3-14B-AWQ/

💡 如果新服务器没有 NVIDIA Container Toolkit

gpus: 这个字段依赖 NVIDIA Container Toolkit。如果新服务器上 docker compose up 报 GPU 相关错误,先装:

bash

复制代码
# 确认 nvidia 驱动正常
nvidia-smi
# 确认容器运行时
docker run --rm --gpus all nvidia/cuda:12.0-base nvidia-smi
相关推荐
cpolar技术支持3 小时前
外网测试机的异常传不回内网?自托管 Sentry,用 cpolar 打通错误上报链路
python·nginx·docker·cpolar·sentry
MrSYJ5 小时前
别人再问你路由表是啥,这篇文章摔它脸上
docker·云原生·kubernetes
羑悻6 小时前
穿越Docker内核迷雾:揭秘镜像分层存储的叠加态与卷挂载的多维空间穿梭技术
后端·docker·容器
筑梦之路7 小时前
docker-compose方式部署kafka集群(Kraft方式)——筑梦之路
docker·容器·kafka
JavaPub-rodert8 小时前
Docker 镜像地址总失效?基于 DockerHub 项目用 GitHub Actions 做一个自动检测状态页
docker·容器·github
天衍四九-8 小时前
Docker 进阶实战系列(一):容器镜像安全,最小镜像与非 Root 运行
安全·docker·eureka
天衍四九-8 小时前
Docker进阶实战系列(二):容器日志深度治理|驱动配置、自动切割、磁盘爆满彻底解决
docker·容器·eureka
sbjdhjd9 小时前
云安全 | Docker 容器逃逸复盘(一):从隔离边界到运行时链路,如何确认自己身处容器
网络安全·docker·云原生·容器·kubernetes·云计算·云安全
溪语流沙9 小时前
【Web全栈进阶】PostgreSQL上手:Docker跑库 + 把早报站从SQLite迁过去
前端·docker·postgresql
梦想不只是梦与想19 小时前
docker-compose.yml
docker·docker-compose·docker run