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

什么是Docker图像“层”?

甄文彬
2023-03-14

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

共有1个答案

解宏扬
2023-03-14

我可能会迟到,但这是我的10美分(补充了Ashishjain的回答):

基本上,层或图像层是图像或中间图像上的变化。您在Dockerfile中指定的每个命令(fromruncopy等)都会导致前一个图像发生更改,从而创建一个新的层。在使用Git时,您可以将其视为临时更改:添加一个文件的更改,然后添加另一个,再添加另一个...

请考虑以下DockerFile:

FROM rails:onbuild
ENV RAILS_ENV production
ENTRYPOINT ["bundle", "exec", "puma"]

图层的概念在构建图像的时候派上了用场。因为图层是中间图像,如果您对Dockerfile进行了更改,docker将只构建被更改的图层及其后的图层。这称为层缓存。

你可以在这里读到更多关于它的内容。

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

  • 高山码头工人形象和忙碌的码头工人形象有什么区别? 当我检查他们的DockFile时,alpine是这样的(对于alpine v3.12-3.12.7) busybox是这样的 但作为https://alpinelinux.org/about/说 Alpine Linux是围绕musl libc和busybox构建的。 那么到底有什么区别呢? 我也很好奇,许多docker图像(nodejs/ngin

  • 问题内容: 在docker image prune 的docker 文档中,可以使用- a标志来 删除所有未使用的图像,而不仅仅是悬空的图像 然后 删除所有悬空的图像。如果指定了-a,还将删除所有未被容器引用的图像。 有人可以向我解释什么是悬空图像,悬空图像和未使用的图像有什么区别? 问题答案: 未使用的图像表示尚未在容器中分配或使用它。例如,在运行时-它会列出您所有退出的和当前正在运行的容器。显

  • 我有一个非常简单的dockerfile 然后使用 根据我对Docker的了解,当我键入时,它应该只在下显示;但是这不是发生的事情。相反,我看到: 为什么会出现基础图像?例如,我从中提取的存储库 但这并没有出现。那么在这种情况下,为什么会有基础图像呢?

  • 在docker图像剪枝的docker文档中,可以使用-a标志来 删除所有未使用的图像,而不仅仅是悬空的图像 而后来

  • 我从Fedora通过Dockerfile制作了一个简单的图像(最初为320 MB)。 添加了Nano(这个1MB大小的微小编辑器),图像的大小上升到了530MB。我在上面添加了Git(大约30 MB),然后我的图像大小的sky-rockets达到了830 MB。 这不是疯了吗? 我已经尝试导出和导入容器来删除历史/中间图像。这一努力节省了25 MB,现在我的图像大小是804 MB。我也尝试在一个上