如何将容器odoo和postgres备份和还原到其他主机?

时间:2018-12-25 18:12:13

标签: docker odoo

我在docker中有容器postgres和odoo,docker安装在ubuntu 18.04机器上。 我需要在其他计算机上运行odoo和postres容器,问题是如何在另一台笔记本电脑上备份和还原映像和容器postgres版本:9.6和odoo版本:11?

1 个答案:

答案 0 :(得分:1)

要导出容器,您应该使用import { of, from, timer} from 'rxjs'; import { map, mergeMap, scan, delay } from 'rxjs/operators'; const arr = new Array(15) .fill(null) .map((_,i) => i); const source = of(arr).pipe( mergeMap(x => from(x)), delay(50), scan((a: Array<number>,c: number) => [...a, c], []) ); source.subscribe(x => console.log(x)); 命令:

.vjs-tech {
  pointer-events: none;
}

其中docker savedocker save odoo | gzip > odoo.gz docker save db | gzip > db.gz 是要导出的容器名称

然后将odoodb文件复制到另一台笔记本电脑,并使用odoo.gz命令将其导入:

db.gz

docker load将创建一个名为docker load < db.gz docker load < odoo.gz docker load的图像,您应运行这些图像以基于它们创建容器-使用与在最初的笔记本电脑上运行这些容器相同的命令

请注意,odoo仅导出db 未装载的卷,并且(如您在评论中所述)您正在使用卷:

docker save

据我所知,没有简便的方法可以从container导出数据,您可以在volume management的官方docker文档中找到建议的方法。

您可以在官方Docker文档中找到有关-v volume-pg:/var/lib/postgresql/ docker volume的更多详细信息:

docker save

docker load

PS。看来您正在运行独立的docker容器而不是docker save,它将为您管理整个设置,并且是更好的方法,您可以在docker hub page of odoo上找到示例docker load文件。您可以阅读有关docker-compose here的信息。请注意,docker-compose.yml无法解决您的卷迁移问题,您必须按照我上面的建议手动迁移docker-compose