导出和导入docker数据容器

我是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 

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

您不能像这样在卷中导出和导入数据 – 卷不包含在导出/导入中。

但是,您不需要执行此操作,只需将卷映射到的目录压缩或压缩,然后发送给同事即可。 然后他们可以使用这些文件创build自己的数据容器。

你也可以看看flocker ,它可以帮助你迁移容器和数据。

您需要首先制作一个容器。 运行这个:

 docker create -v /dbdata --name dbdata2 dbdata2 

有关更多详细信息,请查看创build和安装数据卷容器

我有以下的Dockerfile好运:

 from scratch ADD install_theGreatSoftwarePkg /install VOLUME /install 

然后我做一个构build和创build:

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