游客发表

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

发帖时间:2026-11-12

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

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

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

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

推送到多个存储库

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

docker tag $IMAGE_NAME $DOCKER_REPO:$SOURCE_COM程:MIT

docker push $DOCKER_REPO:$SOURCE_COMMIT

源存储库/分支克隆

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

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

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

git fe Htch origin branch:mytargetbranch --depth 1

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

git fetch --unsha构建llow origin

    热门排行

    友情链接