Docker:将 Docker 层组合成镜像

tem*_*fox 5 docker docker-registry

这个问题的起源是从 docker private registry 拉取超慢。

然后我发现wget通过注册表远程API的速度还可以。

现在我得到一张图像的图层。如何将它作为图像加载到我的 docker 守护进程?

附:

我试过docker load < layer.0,其中 layer.0 是所有图层的基本图像。

结果如下。

FATA[0015] 错误:打开/home/docker/data/docker/tmp/docker-import-087506163/repo/etc/json:没有那个文件或目录

Usm*_*ail 6

所有图层都是差异,您必须全部加载它们才能使“图像”完整。没有包含所有图层的单个图像文件。这是设计使然,因为它允许共享这些层作为后续图像的基础。

您可以使用 docker export 和 docker import 来展平图像。这将采用所有现有层并将它们作为单个文件系统映像导出到 tarball 中。然后导入会将它作为图像再次带回来。

脚步:

docker run --name mycontainer 用于创建容器的图像(容器名称 mycontainer 只是一个示例)

docker export --output=mycontainer.tar mycontainer 容器到 tarball(mycontainer.tar 只是一个例子)

cat mycontainer.tar | docker import - mynewimage:imported tarball(图像名称 mynewimage:imported 只是一个例子)

文档: