从清单构建Docker镜像

7
我得到了这个manifest.json和构建Docker镜像所需的所有层,它看起来像这样:

enter image description here

我该如何构建并将此镜像推送到本地仓库?使用docker import,我可以导入所有单独的layer.tar文件,但这对我没有太大帮助。我还研究了实验性的docker manifest push,但在有限的文档中找不到MANIFEST_LIST的信息。
编辑:我已经添加了所有的层,它们在这里: enter image description here

你可以运行 docker images 命令来列出所有镜像吗? - Frank AK
我编辑了帖子,这些是相关的Docker镜像,但那只是单独的层。 - NickDK
在将本地镜像推送到“本地注册表”或“远程注册表”之前,您必须为镜像打标签!然后,如果您想要将其推送到“本地注册表”,则必须配置您的“本地Docker守护程序”服务器。 - Frank AK
你是怎么解决这个问题的?我有几层类型为“application/vnd.docker.image.rootfs.diff.tar.gzip”的内容。 - Morariu
1个回答

1

当我们运行一个镜像时,实际上也创建了一个容器。我们可以将该容器提交为一个新的镜像:

commit -a='frank' -m='new image' cbd18c36d22c 192.168.0.123:5000/frank/hello

在这里,您已经创建了一些图像,只是忘记给它命名。但是您也可以给它一个标签。(假设您已经定位到地址为192.168.0.123:5000的注册表)
docker tag cbd18c36d22c 192.168.0.123:5000/frank/hello

然后您应该通过docker images列出您的提交。

192.168.0.123:5000/frank/hello   latest              cbd18c36d22c        2 weeks ago         349MB

为了让 docker 守护进程 知道从哪里拉取您的镜像,您需要对其进行配置(似乎您在运行 Mac 上的 docker)。您可以通过 客户端首选项 --> 守护进程 --> 基本,然后将 192.168.0.123:5000 输入到 不安全的注册表 中。
最后,通过单击 应用并重启 来重新启动 docker 守护进程

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接