导出和导入docker数据容器
我是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 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,将数据复制到一个目录中,然后将该目录声明为一个卷。然后,您将能够使用该图像创建一个数据容器,它将与图像中的数据一起播种。