当前位置: 首页 > 面试题库 >

我应该使用Dockerfiles还是映像提交?

聂昱
2023-03-14
问题内容

我对这两个选项有些困惑。它们似乎是相关的。但是,它们并不是真正兼容的。

例如,似乎使用Dockerfiles意味着您实际上不应该提交映像,因为您应该只在git中跟踪Dockerfile并对其进行更改。这样一来,权威性就没有歧义。

但是,图像提交看起来确实不错。太好了,您可以直接修改容器并标记更改以创建另一个图像。我了解您甚至可以从映像提交历史记录中获得类似文件系统差异的信息。太棒了
但是,您不应该使用Dockerfiles。否则,如果提交了映像,则必须返回到Dockerfile并进行一些更改,以表示所做的工作。

所以我很伤心。我喜欢图像提交的想法:您不必在Dockerfile中表示图像状态-
您可以直接对其进行跟踪。但是,我对于放弃某种清单文件的想法感到不安,该清单文件使您可以快速概览图像中的内容。同样在同一软件包中看到两个似乎不兼容的功能也令人不安。

有人对此有任何想法吗?使用图像提交是否被认为是不好的做法?还是我应该放开我的附件来存放人偶时代的清单文件?我该怎么办?

更新

对于所有认为这是一个基于意见的问题的人,我不确定。它具有一些主观上的特质,但我认为这主要是一个客观问题。此外,我相信就该主题进行良好的讨论将提供信息。

最后,我希望阅读本文的任何人都能对Dockerfile和映像提交如何相互关联有更好的了解。

更新-2017/7/18

我最近才发现图像提交的合法用途。我们只是在公司建立了一条CI管道,在管道的一个阶段中,我们的应用程序测试在容器内运行。在测试运行程序进程在容器的文件系统中生成覆盖结果之后,我们需要从已存在的容器中检索覆盖结果。我们使用图像提交来执行此操作,方法是提交已停止的容器以创建新图像,然后运行显示覆盖文件并将其转储到stdout的命令。所以拥有这个很方便。除了这种非常具体的情况之外,我们还使用Dockerfiles定义我们的环境。


问题答案:

Dockerfiles是用于创建映像的工具。

运行的结果docker build .是带有提交的映像,因此 无法在未创建提交的情况下使用Dockerfile
。问题是,每当发生任何变化,您是否应该手动更新图像,从而 注定自己会 遭受 黄金图像的诅咒

黄金图像的诅咒是一个可怕的诅咒,它使人们不得不继续使用漏洞百出的安全漏洞缠身的基础图像来运行其软件,因为创建它的人很久以前就被古代人吞噬(或转移到新工作),没有人知道他们从哪里获得了进入该图像的imagemagic版本。这是唯一可以与老板的儿子三年前雇用的顾问提供的c
模块链接的东西,无论如何都没关系,因为即使您弄清楚了imagemagic来自于libstdc 所使用的版本,
JNI在支持工具中称,创建长发的实习生仅存在于不受支持的ubuntu版本中。



 类似资料:
  • 问题内容: 我正在使用c / c 为osx和linux开发命令行界面可执行文件。该项目将链接到opencv。我应该使用libc 还是libstdc ++? 问题答案: 我会为每个操作系统使用本机库,即GNU / Linux上的libstdc 和Mac OS X上的libc 。 libc 在GNU / Linux上不是100%完整的,而libstdc 更完整时使用libc并没有真正的优势。另外,如果

  • 问题内容: 和CSS 和有什么不一样?我应该使用哪一个?为什么? 问题答案: 所有这些答案似乎都是不正确的。与直觉相反,在CSS 中不是pixel 。至少不是在简单的物理意义上。 从W3C,EM,PX,PT,CM,IN…阅读本文,了解如何为CSS发明一个“神奇的”单元。的含义因硬件和分辨率而异。(该文章是最新的,最新更新为2014-10。) 我自己的思考方式: px单位是CSS的魔术单位。它与当前

  • 问题内容: 我正在一个将Angular和Underscore都作为依赖项的项目。 当我需要创建对象的副本时,根据当时的心情,我可以使用或 在我看来,这些方法中的一种可能比另一种更快速/可靠/健壮。 假设已经包含两个库,那么这两个函数中的任何一个是否存在使另一个函数更好或更坏使用的已知问题? 问题答案: 关于您的问题: angular.copy和_.clone是不同的。这不是哪个更好的问题,而是关于

  • 问题内容: 我想从文本文件中读取每一行并将它们存储在ArrayList中(每一行是ArrayList中的一项)。 到目前为止,我知道BufferedInputStream写入缓冲区,并且仅在缓冲区为空时才进行另一次读取,这可以最大程度地减少或至少减少操作系统的操作量。 我正确吗-我说得通吗? 如果以上情况是在任何情况下,任何人都想使用DataInputStream。最后,我应该使用这两个中的哪一个

  • 问题内容: 在numpy中,可以使用切片语法中的’newaxis’对象创建长度为1的轴,例如: 该文档的状态是一个也可以用代替,效果是完全一样的。 有什么理由选择一个?是否有一般偏好或样式指南?我的印象是更受欢迎,可能是因为它更明确。那么,有什么理由允许这样做? 问题答案: 之所以被允许,是因为它仅仅是的别名。 作者之所以选择它,是因为他们需要一个方便的常量并且可用。 至于为什么你应该更喜欢过:主

  • 问题内容: 在使用SciPy的和NumPy的一个项目,我应该使用,或? 问题答案: 所以没关系,它们都是相同的值。 这三个模块均提供值的唯一原因是,如果仅使用三个模块之一,则可以方便地访问pi,而无需导入另一个模块。他们没有为pi提供不同的值。