互联网技术 / 互联网资讯 · 2023年11月30日

Docker教程:Docker Hub中的构建和定制构建阶段挂钩

Docker Hub允许您在使用钩子的自动构建和测试过程中覆盖和自定义build,test和push命令。例如,您可以使用构建挂钩来设置仅在构建过程中使用的构建参数。

请谨慎使用这些挂钩。这些挂钩文件的内容替换了基本Docker命令,因此您必须在挂钩中包含类似的build,test或push命令,否则自动过程将无法完成。

要覆盖这些阶段,请在源代码存储库中创建一个与Dockerfile位于同一目录级别的文件夹。创建一个名为hooks/build,hooks/test或hooks/push的文件,并包含构建器进程可以执行的命令,例如Docker和bash命令(以适当地前缀#!/bin/bash)。

这些挂钩将在基于Ubuntu的发行版Amazon Linux 2的实例上运行,该实例包括Perl和Python等解释器以及诸如Git或curl的实用程序。

定制构建阶段挂钩

您可以通过创建钩子在构建过程的各个阶段之间运行自定义命令。挂钩允许您为自动构建和自动测试过程提供额外的说明。

在源代码存储库中创建一个名为Dockerfile的目录。将定义挂钩的文件放在该文件夹中。挂钩文件可以同时包含Docker命令和bash命令,只要它们以适当的前缀即可#!/bin/bash。构建器在每个步骤之前和之后执行文件中的命令。

以下挂钩可用:

hooks/post_checkout

hooks/pre_build

hooks/post_build

hooks/pre_test

hooks/post_test

hooks/pre_push(仅在执行构建规则或自动构建时使用)

hooks/post_push(仅在执行构建规则或自动构建时使用)

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.