17 lines
2.3 KiB
Markdown
17 lines
2.3 KiB
Markdown
群晖nas系统人人都爱(大嘘),但是众所周知,群晖的dockers应用导出的包是独有的格式。通常dockers导出的格式应该是xxxx.tar,但群晖的包是xxxx.syno.txz格式。
|
||
|
||
想要将群晖的容器迁移到其他地方,通常会采取SSH登陆后台然后利用原版docker指令导出的方式。但我没有发现有人尝试过将群晖直接导出的包直接利用,而这在某些情况下或许是不得不做的。
|
||
|
||
笔者重装了nas的系统,在重装之前导出了一个容器,但导入的时候遇到了问题,导入一直失败。原有的系统早已灰飞烟灭,再去导出普通格式已经不可能,因此只能从群晖的包下手。
|
||
|
||
噔噔咚!
|
||
根据经验群晖大概率不会彻头彻尾自己做一种格式,更有可能是通用的格式套皮,因此首先试图解压这个包,在经历了漫长的解压后我发现群晖打这个包的压缩率达到了50%以上...里面的内容为一个tar格式压缩包与一个profile.json文件。后者显然是存储了容器的设置情况,前者打开观察很容易看到linux的文件结构,应当是直接把容器的文件封了个包。
|
||
![[03旧笔记本整理/00Trilium/学习/软件/Docker/zz图像缓存/Pasted image 20260125004227.png]]尝试用docker load指令进行导入,产生报错。用docker import指令导入成功了,但是在群晖网页界面中仍然看不到导入的镜像(import会导入为镜像而不是容器)
|
||
![[03旧笔记本整理/00Trilium/学习/软件/Docker/zz图像缓存/Pasted image 20260125004236.png]]
|
||
但是不要慌,用docker image指令查看所有镜像,发现导入的镜像是没有名字的,也就是这导致了网页不显示
|
||
![[03旧笔记本整理/00Trilium/学习/软件/Docker/zz图像缓存/Pasted image 20260125004246.png]]
|
||
用docker tag (容器id) (名称)的指令给它一个名称,便可以正常创建容器了
|
||
|
||
最后要注意的是,作为导出的镜像有导出镜像的通病(no command specified报错),因此创建容器的时候需要在高级设置中添加命令(看原来的镜像是什么命令,例如/bin/bash)
|
||
![[03旧笔记本整理/00Trilium/学习/软件/Docker/zz图像缓存/Pasted image 20260125004256.png]]
|
||
本文禁止转载或摘编 作者:铪锶 https://www.bilibili.com/read/cv21667752 出处:bilibili |