tyy474 发表于 2024-12-13 10:58

所以我用威联通,简单的整体容器导出和导入,如果是带卷的,连卷一起打包,去到哪里都能导入使用,和原本那个一模一样,方便极了。不带卷的直接打包映射文件夹就可以到别的地方导入了。

3PRO 发表于 2024-12-13 11:25

重要的不是docker run还是docker compose,重要的是数据持久化配置
你的命令或者compose文件中得有数据持久化的配置项,数据目录重定向到本地指定目录,才能方便的去做备份

一个不是很恰当的比喻:
不做数据持久化,docker类似于一台PC整机,你得开机启动,进系统才能拿到数据或做其他操作
做了数据持久化,就相当于你在一台PC整机的USB口上接了个移动硬盘,你平时都把数据放移动硬盘里,你需要读取或者备份数据,移动硬盘一拔,去任意设备上都能用

其中docker run命令或compose文件等于整机的配置单
数据持久化目录等于移动硬盘,这个移动硬盘就是上述整机配置单中的一个子项

3PRO 发表于 2024-12-13 11:32

BetaHT 发表于 2024-12-11 11:40
我就说那些言必称nas要配docker的人基本上没长时间用过nas也没用过docker。
受害者就这么出现了——docker ...

其实可以很方便的去做
简单的做法:建立一个Docker目录,在其中为每个服务建立子目录,子目录中放compose配置文件,配置文件包含数据持久化命令,定向到本服务的子目录内

然后备份Docker目录即可,迁移到其他地方只需要对每个服务docker compose up -d

唯爱凤凤 发表于 2024-12-13 12:09

东东东尼大木 发表于 2024-8-5 17:11
我很疑惑为什么都喜欢写成compose文件 群晖compose文件是以创建项目来实现我几十个docker都在一个compo ...

那是因为你启动和停止的时候没有加参数,默认就是启动/停止全部。docker-compose 命令启动容器时可以指定服务名,也可以排除要启动的服务

zhongli_1978 发表于 2024-12-13 12:12

霸天虎撤退 发表于 2024-8-5 16:51
docker都写成compose文件,然后只需要备份数据目录就可以了啊,我十几个docker都是这样备份的,换机器几分 ...

+1 正解。镜像(系统)不用备份,数据都在挂载目录上。

BetaHT 发表于 2024-12-14 20:27

3PRO 发表于 2024-12-13 11:32
其实可以很方便的去做
简单的做法:建立一个Docker目录,在其中为每个服务建立子目录,子目录中放compose ...

不够的。因为无法确保在线服务总是可靠,也无法确保最新版本能够兼容你的旧数据。我就遇到过不兼容的情况。

所谓备份,最好是开箱即恢复,docker在设计上其实不怎么考虑过这一点。我研究出来最好的办法,就是在虚拟机上运行docker服务,备份时,直接备份整个虚拟机即可。

所以玩nas我推荐宿主系统上做虚拟nas的方案,最适合个人,最具有弹性。

飞翔 发表于 2024-12-14 20:58

你下载的只要是lastest docker版本,备份好那个几k的配置文件后,如果你的数据文件必须映射到外面自己备份,这样即使重装群晖后安装完docker然后再恢复几k配置文件,它会自动拉取最新的镜像并启动的

testcb00 发表于 2024-12-14 21:43

BetaHT 发表于 2024-12-11 11:40
我就说那些言必称nas要配docker的人基本上没长时间用过nas也没用过docker。
受害者就这么出现了——docker ...

恕我抱持反对意见 感觉你这种做法像是把所有数据及服务放进一个更大的容器上 没部署虚拟服务就无法进行读取任何数据

虽说只需要重新部署虚拟服务就能很方便的迁移进新系统
反过来代表数据+服务本身和系统高度隔离 一旦虚拟硬碟出现问题 在数据恢复上有难以处理的风险

qp6g3o 发表于 2025-5-20 18:20

不容易~
页: 1 [2]
查看完整版本: 【讨论】群晖的docker容器怎么做迁移(备份)