You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Bitbucket Pipelines中使用CNCF Buildpacks遇挂载权限错误

解决Bitbucket Pipelines中使用CNCF Buildpacks pack工具的挂载权限问题

问题重现

执行pack构建命令时触发以下错误:

ERROR: failed to build: failed to create 'creator' container: Error response from daemon: authorization denied by plugin pipelines: -v only supports $BITBUCKET_CLONE_DIR and its subdirectories

原因是Bitbucket Pipelines的容器插件强制限制挂载路径只能是$BITBUCKET_CLONE_DIR及其子目录,但pack工具默认会创建/layers、/cache这类超出该范围的挂载点,导致权限校验失败。

解决方案

1. 手动映射挂载路径到克隆目录下

先在pipeline脚本中创建本地子目录,再通过--volume参数将pack默认的挂载点映射到这些目录:

# 提前创建所需目录
mkdir -p $BITBUCKET_CLONE_DIR/pack-layers $BITBUCKET_CLONE_DIR/pack-cache

# 执行pack build,覆盖默认挂载路径
pack build <你的镜像名> --builder <builder镜像> \
  --volume $BITBUCKET_CLONE_DIR/pack-layers:/layers \
  --volume $BITBUCKET_CLONE_DIR/pack-cache:/cache

2. 配置pack全局缓存到允许路径

设置PACK_CACHE_DIR环境变量,让pack将全局缓存存储到克隆目录下,避免生成额外的非法挂载点:

export PACK_CACHE_DIR=$BITBUCKET_CLONE_DIR/pack-global-cache
mkdir -p $PACK_CACHE_DIR

# 之后正常执行pack build即可
pack build <你的镜像名> --builder <builder镜像>

3. 完整pipeline配置示例

将上述步骤整合到bitbucket-pipelines.yml中:

pipelines:
  default:
    - step:
        name: Build with Buildpacks
        image: docker:24.0.6
        services:
          - docker
        script:
          # 安装pack工具
          - apk add --no-cache curl
          - curl -sSL https://github.com/buildpacks/pack/releases/latest/download/pack-linux.tgz | tar -C /usr/local/bin -xzv
          # 创建挂载目录并配置缓存
          - mkdir -p $BITBUCKET_CLONE_DIR/pack-layers $BITBUCKET_CLONE_DIR/pack-cache $BITBUCKET_CLONE_DIR/pack-global-cache
          - export PACK_CACHE_DIR=$BITBUCKET_CLONE_DIR/pack-global-cache
          # 执行构建
          - pack build my-app-image --builder paketobuildpacks/builder:base \
              --volume $BITBUCKET_CLONE_DIR/pack-layers:/layers \
              --volume $BITBUCKET_CLONE_DIR/pack-cache:/cache

补充说明

本地构建无问题是因为本地Docker没有Bitbucket Pipelines的挂载路径限制;Maven构建未触发错误,是因为Maven缓存可通过配置指向项目目录,符合挂载规则。

内容的提问来源于stack exchange,提问作者Cody

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 04:50:04