Dockerfile 的优点
Advantages of a Dockerfile
我们可以创建 Docker 图像并将它们全部推送到 Hub 而无需 Docker 文件。有一个 Docker 文件为什么有用?它有什么优点? Docker文件创建是一个非常耗时的过程,只能由人来完成。
我想知道基于基础映像的提交映像和基于 Docker 文件的映像之间的主要区别是什么。
优点是,即使您没有可以将图像推送到的共享图像注册表,您仍然可以与 "recipe"(Dockerfile used by docker build
)交换所述图像,这只有几 KB 的文本,并且可以很容易地传递(轻而小)。
声明式格式确保您能够重新构建相同的图像,并允许可重现的结果。
Dockerfile
用于通过在 docker 图像上指定我们想要的所有步骤来实现工作自动化。
A Dockerfile is a text document that contains all the commands a user
could call on the command line to assemble an image. Using docker
build users can create an automated build that executes several
command-line instructions in succession.
是的,我们可以创建 Docker 图像,但每次我们想要进行任何更改时,您都必须手动更改并测试并推送它。
或者,如果您将 Docker 文件与 docker 集线器一起使用,那么它将自动重建并在每次修改时进行更改,如果出现问题,则重建将失败。
Docker文件的优点
- Docker文件是Docker张图片的自动脚本
- 如果您想在不同的 OS 风格上测试相同的设置,那么手动创建图像会变得很复杂,那么您必须为所有风格创建图像,但是通过在 docker 文件中进行小的更改,您可以创建图像不同口味
- 它具有简单的图像语法,并且会自动进行许多更改,而手动更改会花费更多时间。
- Docker文件有系统的步骤,其他人可以很容易地理解,并且很容易知道基础镜像中的确切配置发生了什么变化。
Docker文件与 dockerhub
的优势
- Docker Hub 为 Docker 文件提供私有存储库。
- Docker文件可以在团队和组织之间共享。
- 自动映像构建
- 附加到您的存储库的 Webhook 允许您在将图像或更新的图像推送到存储库时触发事件
- 我们可以将 Docker 文件放在
Github
或 Bitbucket
上
提交的图像和 Docker文件图像之间的差异
提交镜像 : 它将容器的文件更改或设置提交到新镜像中。
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
调试容器并将更改的设置导出到另一个容器是个不错的选择 image.but docker 建议使用 dockerfile see here 或者我们可以说提交是版本控制docker 或镜像备份。
The commit operation will not include any data contained in volumes
mounted inside the container.
By default, the container being committed and its processes will be
paused while the image is committed. This reduces the likelihood of
encountering data corruption during the process of creating the
commit. If this behavior is undesired, set the ‘p’ option to false.
Docker基于文件的图像:
它总是使用基本图像来创建新图像。假设如果您对 docker 文件进行了任何更改,那么它将在新图像上应用所有 docker 文件步骤并创建新图像。但提交使用相同的图像。
我的观点是,我们必须使用 docker 文件,该文件具有我们想要的图像上的所有步骤,但是如果我们从提交创建图像,那么我们必须记录我们所做的所有更改,如果我们想创建新图像,我们可以说 dockerfile 是图像的文档。
Docker 提交
使用Docker提交命令方法创建新图像容易出错,需要记住并更新图像以进行小的更改并每次提交。
Docker文件
Dockerfile 提供了使用 set 自动执行所有步骤的能力
在构建期间执行的指令(参考 docker 构建命令)以创建最终图像以及图像的提交。
Docker文件可在任何地方使用,一切都已配置并准备好 运行 方法。
Docker文件可以与他人共享并由他人轻松更新。它
允许根据需要轻松更改图像
例如安全加固、添加或更新用户详细信息等
我们可以创建 Docker 图像并将它们全部推送到 Hub 而无需 Docker 文件。有一个 Docker 文件为什么有用?它有什么优点? Docker文件创建是一个非常耗时的过程,只能由人来完成。 我想知道基于基础映像的提交映像和基于 Docker 文件的映像之间的主要区别是什么。
优点是,即使您没有可以将图像推送到的共享图像注册表,您仍然可以与 "recipe"(Dockerfile used by docker build
)交换所述图像,这只有几 KB 的文本,并且可以很容易地传递(轻而小)。
声明式格式确保您能够重新构建相同的图像,并允许可重现的结果。
Dockerfile
用于通过在 docker 图像上指定我们想要的所有步骤来实现工作自动化。
A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image. Using docker build users can create an automated build that executes several command-line instructions in succession.
是的,我们可以创建 Docker 图像,但每次我们想要进行任何更改时,您都必须手动更改并测试并推送它。
或者,如果您将 Docker 文件与 docker 集线器一起使用,那么它将自动重建并在每次修改时进行更改,如果出现问题,则重建将失败。
Docker文件的优点
- Docker文件是Docker张图片的自动脚本
- 如果您想在不同的 OS 风格上测试相同的设置,那么手动创建图像会变得很复杂,那么您必须为所有风格创建图像,但是通过在 docker 文件中进行小的更改,您可以创建图像不同口味
- 它具有简单的图像语法,并且会自动进行许多更改,而手动更改会花费更多时间。
- Docker文件有系统的步骤,其他人可以很容易地理解,并且很容易知道基础镜像中的确切配置发生了什么变化。
Docker文件与 dockerhub
的优势- Docker Hub 为 Docker 文件提供私有存储库。
- Docker文件可以在团队和组织之间共享。
- 自动映像构建
- 附加到您的存储库的 Webhook 允许您在将图像或更新的图像推送到存储库时触发事件
- 我们可以将 Docker 文件放在
Github
或Bitbucket
上
提交的图像和 Docker文件图像之间的差异
提交镜像 : 它将容器的文件更改或设置提交到新镜像中。
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
调试容器并将更改的设置导出到另一个容器是个不错的选择 image.but docker 建议使用 dockerfile see here 或者我们可以说提交是版本控制docker 或镜像备份。
The commit operation will not include any data contained in volumes mounted inside the container.
By default, the container being committed and its processes will be paused while the image is committed. This reduces the likelihood of encountering data corruption during the process of creating the commit. If this behavior is undesired, set the ‘p’ option to false.
Docker基于文件的图像:
它总是使用基本图像来创建新图像。假设如果您对 docker 文件进行了任何更改,那么它将在新图像上应用所有 docker 文件步骤并创建新图像。但提交使用相同的图像。
我的观点是,我们必须使用 docker 文件,该文件具有我们想要的图像上的所有步骤,但是如果我们从提交创建图像,那么我们必须记录我们所做的所有更改,如果我们想创建新图像,我们可以说 dockerfile 是图像的文档。
Docker 提交
使用Docker提交命令方法创建新图像容易出错,需要记住并更新图像以进行小的更改并每次提交。
Docker文件
Dockerfile 提供了使用 set 自动执行所有步骤的能力 在构建期间执行的指令(参考 docker 构建命令)以创建最终图像以及图像的提交。
Docker文件可在任何地方使用,一切都已配置并准备好 运行 方法。
Docker文件可以与他人共享并由他人轻松更新。它 允许根据需要轻松更改图像 例如安全加固、添加或更新用户详细信息等