我在docker中有容器postgres和odoo,docker安装在ubuntu 18.04机器上。 我需要在其他计算机上运行odoo和postres容器,问题是如何在另一台笔记本电脑上备份和还原映像和容器postgres版本:9.6和odoo版本:11?
答案 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 save
和docker save odoo | gzip > odoo.gz
docker save db | gzip > db.gz
是要导出的容器的名称。
然后将odoo
和db
文件复制到另一台笔记本电脑,并使用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
的更多详细信息:
PS。看来您正在运行独立的docker容器而不是docker save
,它将为您管理整个设置,并且是更好的方法,您可以在docker hub page of odoo上找到示例docker load
文件。您可以阅读有关docker-compose
here的信息。请注意,docker-compose.yml
无法解决您的卷迁移问题,您必须按照我上面的建议手动迁移docker-compose
。