icon
网址
type
status
date
slug
summary
tags
category
一、准备工作
1.1 确定两台设备都打开了SSH权限
在群晖上面,控制面板→终端机和SNMP→终端机页面,启动SSH功能,并且设定好端口,本文假设你使用了默认的22端口。

在极空间上面,系统设置→远程协助/SSH→SSH页面,启动SSH功能,并且设定好端口,本文假设你使用了默认的10000端口。

1.2 确定两台设备都安装了Docker
我们假设群晖的IP地址是192.168.1.2,SSH端口是22,假设能使用root权限
我们假设极空间的IP地支是192.168.1.3,SSH端口是10000,假设能使用root权限
登录群晖:
确认Docker版本(如果已经安装Docker,就会显示版本)
登录极空间:
确认Docker版本(如果已经安装Docker,就会显示版本)
如果没有显示版本号,那就先安装Docker,一般都是安装好了的。
1.3 确定数据目录地址
要记录一下群晖上存放Docker容器数据的目录地址,我的Docker项目都存在
/volume1/docker/ 。极空间上面的目录地址会复杂一点,先打开极空间上的“Docker”应用,然后“Compose”,“查询路径”。

进入你计划存放Docker数据的文件夹,点击“复制路径”

一般来说,极空间的路径是这样的:
/tmp/zfsv3/nvme12/130xxxxxxxx/data/Docker ,本文使用/zfs-pool/zspace-user/data/Docker/ 作为替代。1.4 关键配置总结
- 群晖NAS IP地址:
192.168.1.2(SSH端口:22)
- 极空间Z4 Pro+ IP地址:
192.168.1.3(SSH端口:10000)
- 群晖用户名:
synology-user
- 极空间用户名:
zspace-user
- Docker数据目录:
/volume1/docker/(群晖)→/zfs-pool/zspace-user/data/Docker/(极空间)
1.5 重要提醒
⚠️ 使用本教程前请注意:
- 将所有示例中的IP地址、端口、用户名替换为你的实际配置
- 迁移前务必备份重要数据
- 确保两台设备网络连通且防火墙已正确配置
二、导出容器配置(在群晖上执行)
2.1 在群晖上安装runlike工具
runlike是一个Python工具,可以自动生成容器的完整docker run命令,这对迁移非常关键。请逐行执行下列命令
如果上述别名方式不工作,可以尝试安装Python版本:
2.2 批量导出Docker项目的部署参数
三、停止群晖容器
四、数据迁移到极空间
4.1 在极空间上准备目录:
4.2 从极空间拉取数据:
也可以在群晖上执行:
五、配置极空间Docker环境
5.1 配置镜像加速器(通过Web界面):
- 登录极空间Web管理界面
- 进入Docker管理 → 镜像 → 仓库 → 设置
- 添加镜像加速器地址(建议使用多个备用):
https://docker.xuanyuan.devhttps://docker.1panel.live- 更多可用镜像源:https://status.anye.xyz/
- 保存并重启Docker服务
5.2 拉取Docker镜像:
六、路径替换和容器重建
6.1 创建路径替换脚本:
6.2 验证替换结果:
七、按依赖关系启动容器
建议启动顺序:
第一批 - 基础服务(数据库、存储)
第二批 - 核心应用服务
第三批 - 辅助工具和监控
需要注意的是,批量导出的Docker配置参数里有一些无用的参数,重新部署之前,需要自己先清理一下。
八、验证和测试
九、常见问题和解决方案
9.1 容器启动失败
大部分启动失败都是因为端口占用和文件夹权限错误。
- 检查端口冲突:使用
netstat -tulpn | grep <port>查看端口占用
- 检查路径权限:确保挂载目录存在且权限正确
- 查看详细日志:
docker logs -f <container-name>
9.2 数据访问问题
- 验证文件所有权:
ls -l /zfs-pool/zspace-user/data/Docker/
- 修正权限:
chown -R zspace-user:zspace-user /zfs-pool/zspace-user/data/Docker/
- 作者:Neo Zed
- 链接:https://musingpages.com/technology/2025/11/23/migrate-docker-containers-z4-pro
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章


