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

Dockerfile的优点

杨腾
2023-03-14
问题内容

我们可以创建Docker映像并将所有映像都推送到没有Dockerfile的Hub中。拥有Dockerfile为何有用?它有什么优势?Dockerfile的创建是一个耗费大量时间的过程,只能由人来创建。我想知道基于基础映像,提交的映像和基于Dockerfile的映像之间的主要区别是什么。


问题答案:

Dockerfile 通过指定我们要在docker映像上执行的所有步骤来用于工作自动化

Dockerfile是一个文本文档,其中包含用户可以在命令行上调用以组装映像的所有命令。使用docker
build的用户可以创建自动执行的构建,该构建可以连续执行几个命令行指令。

是的,我们可以创建Docker映像,但是每当我们要进行任何更改时,您都必须手动更改并测试和推送它。

或者,如果您将Dockerfile与dockerhub一起使用,则它将自动重建并在每次修改时进行更改,如果出现问题,则重建将失败。

Dockerfile的优点

  • Dockerfile是Docker映像的自动化脚本
  • 当您想在不同操作系统版本上测试相同的设置时,手动映像创建将变得复杂,然后您必须为所有版本创建映像,但是通过在dockerfile中进行少量更改,您可以创建不同版本的映像
  • 它具有简单的图像语法,并且会自动进行许多更改,而手动进行操作会花费更多时间。
  • Dockerfile具有系统的步骤,其他人可以轻松理解,并且很容易知道基本映像中发生了什么确切配置。

Dockerfile与dockerhub的优势

  • Docker Hub提供Dockerfile的私有存储库。
  • Dockerfile可以在团队和组织之间共享。
  • 自动图像构建
  • 附加到存储库的Webhook,允许您在将映像或更新的映像推送到存储库时触发事件
  • 我们可以将Dockerfile放在GithubBitbucket

提交映像和Dockerfile映像之间的区别

提交的图像 :它将容器的文件更改或设置提交到新图像中。

Usage:  docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
Create a new image from a container's changes

  -a, --author=       Author (e.g., "John Hannibal Smith <hannibal@a-team.com>")
  -c, --change=[]     Apply Dockerfile instruction to the created image
  --help=false        Print usage
  -m, --message=      Commit message
  -p, --pause=true    Pause container during commit

调试容器并将导出的设置导出到另一个映像是个不错的选择。但是docker建议使用dockerfile
参见此处,或者我们可以说commit是docker的版本控制或映像的备份。

提交操作将不包含容器内安装的卷中包含的任何数据。

默认情况下,在提交映像时,将暂停提交的容器及其进程。这减少了在创建提交过程中遇到数据损坏的可能性。如果不希望出现这种情况,请将“
p”选项设置为false。

基于Dockerfile的映像:

它总是使用基础图像来创建新图像。让我们假设,如果您对dockerfile进行了任何更改,那么它将在新映像上应用所有dockerfile步骤并创建新映像。但提交使用相同的图像。

以我的观点,我们必须使用具有在映像上具有所有步骤的dockerfile,但是如果我们从commit创建映像,则必须记录所有我们要创建新映像可能需要的更改,我们可以说dockerfile是图像的文档。



 类似资料:
  • 问题内容: 使用Alpine映像创建Dockerfile时,我经常看到提交时使用和的用法,而是看到。 我很好奇,知道利用消除了以后再做的必要。我还想知道一种风格是否胜过另一种。 问题答案: 该选项允许不在本地缓存索引,这对于保持容器较小非常有用。 从字面上看,它在开头和结尾相等。 我们使用option的一些示例: 另一个不使用选项的示例: 如您所见,这两种情况都是有效的。对我来说,使用option

  • Dockerfile市场主要是为了方便大家正确的填写Dockerfile而提供的一些例子,当然您也可以直接下载该市场里的已经制作好的相关Dockerfile文件放到您的项目里 创建Dockerfile 不多说了,直接看图吧...

  • Dockerfile best practices Writing production-worthy Dockerfiles is, unfortunately, not as simple as you would imagine. Most Docker images in the wild fail here, and even professionals often[1] get[2]

  • 错误消息:未能部署“Dockerfile:DockerNew”:com。fasterxml。杰克逊。数据绑定。JsonMappingException:数值(4294967295)超出int的范围(-2147483648-2147483647)在[源:(okio.RealBufferedSource$1);行:8,列:34](通过引用链:com.github.dockerjava.api.mode

  • 主要内容:指令详解什么是 Dockerfile? Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。 使用 Dockerfile 定制镜像 这里仅讲解如何运行 Dockerfile 文件来定制一个镜像,具体 Dockerfile 文件内指令详解,将在下一节中介绍,这里你只要知道构建的流程即可。 1、下面以定制一个 nginx 镜像(构建好的镜像内会有一个 /usr/s

  • Create a MATLAB Container Image Requirements You must perform these steps on a Linux platform.Before starting, you must install the following on the client platform Docker Git Introduction The followi