互联网技术 / 互联网资讯 · 2023年12月1日

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

DockeR Hub允许您在钩子文件中或从自动构建界面中定义构建环境变量。

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

docker build –build-arg CUSTOM=$VAR -f $DOCKERfile_PATH -t $image_NAME .

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

推送到多个存储库

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

docker tag $image_NAME $DOCKER_REPO:$SOURCE_COMMIT

docker push $DOCKER_REPO:$SOURCE_COMMIT

源存储库/分支克隆

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

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

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

Git fetch origin branch:Mytargetbranch –depth 1

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

Git fetch –unshallow origin

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.

登录免费注册