从OS X下的boot2docker复制Docker容器

从OS X下的boot2docker复制Docker容器,docker,virtual-machine,Docker,Virtual Machine,我在OS X 10.10上运行boot2docker 我使用docker安装了conceptnet5,这是一个50GB的大型数据库,从我的位置下载需要几天时间 现在,有人向我请求了一个运行conceptnet5的Ubuntu虚拟机,它位于docker容器中 因此,为了避免再次下载所有内容,我想知道是否有办法将conceptnet5的容器从boot2docker转移到我新创建的ubuntu虚拟机 是我正在使用的docker容器。您可以设置一个,然后在那里设置图像。希望这个私有注册表位于您的本地网络

我在OS X 10.10上运行boot2docker

我使用docker安装了
conceptnet5
,这是一个50GB的大型数据库,从我的位置下载需要几天时间

现在,有人向我请求了一个运行conceptnet5的Ubuntu虚拟机,它位于docker容器中

因此,为了避免再次下载所有内容,我想知道是否有办法将conceptnet5的容器从boot2docker转移到我新创建的ubuntu虚拟机


是我正在使用的docker容器。

您可以设置一个,然后在那里设置图像。希望这个私有注册表位于您的本地网络上,这样您就可以获得更高的吞吐量。然后,您可以在新的Ubuntu虚拟机中下拉推送的图像。

您还可以使用
save
load
命令

save
命令将生成图像的柏油存储库。它将包含所有父层和所有标记

$ docker save myimage -o myimage.tar
# Or even better, gzip it using unix pipes
$ docker save myimage | gzip > myimage.tar.gz
现在,您有了一个tarball,其中包含了所有层和元数据,您可以使用usb密钥和其他东西离线传递这些层和元数据

要重新加载它,需要使用
load
命令。load命令将使用以下压缩算法:
gzip
bzip2
xz

$ docker load -i myimage.tar.gz
# or with pipes
$ docker load < myimage.tar.gz
$docker load-i myimage.tar.gz
#还是用管子
$docker load

这比运行私有注册表要容易一点,但两者都很好。

谢谢你的提示。我设法在我的主机上运行了一个私有docker注册表。但现在我的问题是,我似乎无法在我的虚拟机上找到它。它也不会出现在我的主机上,我尝试使用HTTP请求资源。有什么提示吗?你用什么命令启动它?您应该使用-p开关公开端口,并在docker主机上的该端口上查找它。非常感谢!没问题,当需要“私有”图像但需要简单的需求时(或者对于没有互联网接入的演示,我面临的用例:D),它非常有用,并且经常被忽略。