从 OS X 下的 boot2docker 复制 Docker 容器

Copy Docker container from boot2docker under OS X

我在 OS X 10.10 上有 boot2docker 运行。

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

现在,有人在 docker 容器中向我请求一个带有 conceptnet5 运行 的 Ubuntu 虚拟机。

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

Here 是我正在使用的 docker 容器。

您可以在那里设置 private docker registry and then push 图片。希望这个私有注册表在您的本地网络上,这样您应该获得更高的吞吐量。然后您可以在新的 Ubuntu VM 中下载推送的图像。

您也可以使用 saveload 命令。

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命令。加载命令将使用以下压缩算法:gzipbzip2xz.

$ docker load -i myimage.tar.gz
# or with pipes
$ docker load < myimage.tar.gz

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