当前位置:首页 > 热点 > 正文

云计算核心技术Docker教程:Docker Hub构建钩子和源存储库

2026-11-12 热点

Docker Hub允许您在钩子文件中或从自动构建界面(然后可以在钩子中引用)中定义构建环境变量。

在以下示例中,我云计们定义了一个构建钩子,该构建钩子使用docker build参数CUSTOM根据我们使用Docker Hub构建设置定算核义的变量的值来设置变量。$DOCKERFILE_PATH是一个变量,我们为其提供了要构建的Dockerfile$IMAG心技E_NAME的名称,并且是正在构建的映像的名称。

docker build --build-arg CUSTOM=$VAR -术Df $DOCKERFILE_PATH -t $IMAGE_NAME .

警告:hooks/build文件会覆盖构建器使用的基本dococker build命令,因此您必须在挂钩中包含类似的构建命令,否则自动构建会失败。

推送到多个存储库

默认情况下,构建过程仅将ke映像推送到配置了构建设置的存储库。如果需要将同一映像推送到多个存储库,则可以设置一个post_push挂钩以添加其他标签r教并推送到更多存储库。

docker tag $IMAGE_NAME $DOCKER_REPO:$SOURCE_COMMIT

doc程:ker push $DOCKER_REPO:$SOURCE_COMMIT

源存储库/分支克隆

当Docker Hub从源代码Do存储库中提取分支时,它将执行浅表克隆(仅指定分支的尖端)。这样做的好处是可以最大程度地减少从存储库中传输所需的数据量,并加ck快构建速度,因为它仅提取所需的最少代码。

因此,如果您需要执行依赖于其他分支(例如post_push钩子)的自定义操作,则除er非执行以下操作之一,否则无法签出该分支:

通过执行以下操作,可以对目标分支进行浅层检出:

git fetch origin bra Hnch:mytargetbranch --depth 1

您还可以“取消整理”克隆,使用获取上的标志来获取整个Git历史记录(ub并可能花费很长时间/移动大量数据)--unshallow:

git fetch --unshallow origin

最近关注

友情链接