当前位置: 首页 > 知识库问答 >
问题:

Docker:将Docker层合并到图像中

戚祺
2023-03-14

这个问题的根源是从docker私有注册表中提取的速度非常慢。

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

现在我得到一个图像的层。如何将其作为映像加载到docker守护程序?

ps:

我试着加载docker

结果如下。

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

共有1个答案

宋伟泽
2023-03-14

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

您可以使用docker导出然后docker导入来展平图像。这将获取所有现有层并将它们导出为一个tarball中的单个文件系统映像。然后导入将再次将其作为图像返回。

步骤:

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

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

catmycontainer.tar|docker import-mynewimage:导入tarball(镜像名称mynewimage:导入只是一个示例)

文档:

  • 导出
  • 导入
 类似资料:
  • 我需要了解docker图像注册表的脱机使用情况 当docker图像从microsoft官方网站中提取、调整,然后推送到注册表时,它是完整的图像还是缺少图层 当其他主机从注册表中提取图像(可能脱机使用)时,客户端主机是否仍需要internet连接才能从microsoft服务器中提取缺失/机密层?(或者是从microsoft提取的完整图像,然后推送到注册表?) 签名呢?当图像被调整、存储在其中的应用程

  • 让我们以whalesay图片为例<代码>docker history显示以下内容: 我想提取显示为的层。有这样做的工具/方法吗?

  • 我是Docker的新手,正在尝试准确理解Docker映像是什么。Docker映像的每个定义都使用术语“层”,但似乎没有定义层的含义。 从Docker官方文件: 我们已经看到Docker图像是只读模板,从中启动Docker容器。每个图像由一系列层组成。Docker利用union文件系统将这些层合并到单个图像中。Union文件系统允许透明地覆盖单独文件系统(称为分支)的文件和目录,形成单个连贯的文件系

  • 我对Docker是全新的,我正在努力理解Docker形象到底是什么。Docker图像的每个定义都使用术语“层”,但似乎没有定义层的含义。

  • 我还不太了解dockerhub。我得到了以下案例: 我为中心标记了几张图片 docker标签myImageA myuser/myrepo: 1 docker标签myImageB myuser/myrepo: 1 docker标签myImageC myuser/myrepo: 1 然后我用docker push myuser/myrepo推送它们 现在,当删除所有本地图像并再次拉入自己的docker

  • 我有一个詹金斯在一个独立的视窗7服务器上。我们有一个请求添加一个构建作业来构建一个项目,该项目生成一个焦油球格式的Docker映像,并将该映像推送到驻留在OpenShift中的远程Docker注册表中。 试图找到一个詹金斯插件,可以做到这一点。发现Docker Common插件有一些命令,但据我所知,它只能将图像从Docker注册表推送到另一个注册表。 有没有指南可以让我通过独立的jenkins将