Docker:使用 --volumes-from 备份数据文件

Posted

技术标签:

【中文标题】Docker:使用 --volumes-from 备份数据文件【英文标题】:Docker: using Using --volumes-from to backup data files 【发布时间】:2017-07-02 20:58:29 【问题描述】:

对此有一些问题,需要一点帮助(指导)。我要备份的数据位于此处: /var/lib/docker/volumes/eb5294b586d6537c965bde61d02da06d49ff77467afdc55ec1441413fe5fb128/_data

所以我需要创建此卷数据的备份并将其传输到另一台主机。从这个网站https://docs.docker.com/engine/tutorials/dockervolumes/#creating-and-mounting-a-data-volume-container 它说使用以下命令: $ docker run --rm --volumes-from dbstore -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata

“ubuntu”是干什么用的?我在 Ubuntu 上运行,但在命令的解释中,它没有说明任何内容。它是可选的吗? /backup 目录呢,它是在哪里创建的?在登录用户的主目录中?

谢谢, 唐

【问题讨论】:

因此,在与新的主机人员交谈后,似乎数据库转储是可行的方法,因为 postgreSQL 版本不同(9.5 与 9.6)。我可以将转储文件保存到 pgsql 数据目录并从主机恢复它,因为 docker 卷位于主机上(我假设这是从主机到容器的挂载点,反之亦然?)?跨度> 【参考方案1】:

“ubuntu”是干什么用的?

它是包含tar 实用程序的基本映像。

我在 Ubuntu 上运行,但在命令的解释中,它没有说明任何内容。它是可选的吗?

您需要任何 docker 映像,该映像必须具有 tar 命令。这不是可选的,您必须提供容器将在其上运行的基本映像。 (在您的情况下,您正在运行一次性容器:tar)

/backup 目录呢,它是在哪里创建的?在登录用户的主目录中?

这是一个映射卷:

-v $(pwd):/backup

$(pwd) 是您当前的工作目录(您运行 docker 命令),映射到容器中的/backup/ 目录,其中指示 tar 命令存放您的备份文件 (backup.tar)。这样该文件就会出现在您运行 docker 命令的位置。

【讨论】:

【参考方案2】:

“docker run ...”命令上下文中的“ubuntu”代表映像的名称。看起来正在构建的图像是标准的 ubuntu 图像。

看这个例子:

docker run -it ubuntu

https://hub.docker.com/_/ubuntu/

【讨论】:

谢谢。我现在明白了。我有一个想法,但不确定,

以上是关于Docker:使用 --volumes-from 备份数据文件的主要内容,如果未能解决你的问题,请参考以下文章

Docker 备份恢复迁移数据卷

Docker之七:Docker数据卷管理

docker数据卷容器

Docker数据管理

Docker学习笔记(8-2)Docker - 数据卷容器

docker容器内怎么连接外部的mysql