Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
导出和导入docker数据容器_Docker - Fatal编程技术网

导出和导入docker数据容器

导出和导入docker数据容器,docker,Docker,我是docker的新手,在运送数据容器时遇到了一个问题。好的,通常我们会发送图像,用户可以根据需要从该图像开始,对吗 现在我也想发送一些数据-因此我制作了一个数据容器,以便: docker create -v /dbdata --name dbdata phusion/baseimage 接下来,我简单地启动了一个bash,并将一些数据插入到我的数据容器中 docker run --volumes-from dbdata -i -t phusion/baseimage /bin/bash ec

我是docker的新手,在运送数据容器时遇到了一个问题。好的,通常我们会发送图像,用户可以根据需要从该图像开始,对吗

现在我也想发送一些数据-因此我制作了一个数据容器,以便:

docker create -v /dbdata --name dbdata phusion/baseimage
接下来,我简单地启动了一个bash,并将一些数据插入到我的数据容器中

docker run --volumes-from dbdata -i -t phusion/baseimage /bin/bash
echo "foo" > /dbdata/bar.txt
exit
现在我想允许我的团队成员使用相同的数据(脱机),所以我想“发送”我的数据容器给他们。所以我用了

docker export dbdata > /tmp/cool_data.tar
但是当我用

cat /tmp/data.tar | sudo docker import - dbdata2
我不能使用这个“容器”,因为它似乎是一个图像

docker run --volumes-from dbdata2 -i -t phusion/baseimage /bin/bash
FATA[0000] Error response from daemon: Container dbdata2 not found. Impossible to mount its volumes 

如何正确导出和导入数据容器?

您需要首先使用此图像制作一个容器。运行以下命令:

docker create -v /dbdata --name dbdata2 dbdata2

有关更多详细信息,请查看

您无法导出和导入这样的卷中的数据-卷不包括在导出/导入中

但是,您不需要这样做—只需对卷映射到的目录进行压缩或压缩,并将其发送给同事即可。然后,他们可以使用这些文件制作自己的数据容器


您可能还想查看,它可以帮助您迁移容器和数据。

我很幸运使用了以下Dockerfile:

from scratch

ADD install_theGreatSoftwarePkg /install
VOLUME /install
然后我进行构建并创建:

docker build -t greatSoftwareInstallImage .
docker create -t --name=greatSoftwareMedia greatSoftwareInstallImage /bin/true

有趣的是,我得到了一个例外:来自守护进程的FATA[0000]错误响应:没有指定命令您需要提供一个伪命令,如“/sbin/my_init”,但问题是,/dbdata文件夹随后是空的,所以根本没有数据被传输。这的确是真的,但如果你能像图像一样轻松地提取不同的数据集,那将是非常棒的。但是你似乎必须使用docker backup或flocker(对于一个非常简单的用例来说,这似乎是一个大框架)。@KIC:你可以做的一件事是编写一个Dockerfile,将数据复制到一个目录中,然后将该目录声明为一个卷。然后,您将能够使用该图像创建一个数据容器,它将与图像中的数据一起播种。