Lesstep
Bitbucket Cloud・Pipelines・2026年11月2日に確認

Bitbucket Pipelines:「authorization denied by plugin pipelines」

ステップに services: - docker を付けると使える Docker デーモンは、Atlassian のビルド用マシンでは一部のオプションを断ります。共有の環境を守るためです。コマンドは次のエラーで止まり、たいてい後ろに断ったオプションが付きます。

Error response from daemon: authorization denied by plugin pipelines: --privileged=true is not allowed

止められるものは Atlassian の Bitbucket Pipelines で Docker コマンドを実行するに一覧があり、Runtime v3 ではこの制限が掛からないとも書かれています。

止められるもの

Atlassian の記事 Using Docker commands protected by Pipelines in Runners(英語)は、この一覧がすべてではなく、ほかの Docker API の呼び出しも同じように断られることがあると補っています。Docker Compose も同じオプションをデーモンに送るので、privileged のサービスや、クローン先の外を指すボリュームがある compose ファイルも、ここで止まります。

ふつうの docker build で出るとき

スクリプトでは --privileged を頼んでいないのに出る場合があります。Atlassian の記事 Google deployment fails in Bitbucket Pipeline for Cloud(英語・2026年4月21日更新)が、そのわけを説明しています。

Pipelines は自分の Docker クライアントを /usr/bin に入れます。ところが Google Cloud SDK のイメージなど一部のビルド用イメージは、新しいクライアント(23 以降)を /usr/local/bin に持っていて、PATH ではそちらが先です。Docker 23 からは docker build が docker buildx build として動き、Buildx が --privileged を頼みます。記事の直し方は2つで、どちらかをスクリプトの最初に置きます。

export PATH=/usr/bin:$PATH     # Pipelines が入れる Docker クライアントを使う
export DOCKER_BUILDKIT=0       # または、以前のビルダーで作る

DOCKER_BUILDKIT はワークスペースの変数にもできます。そうすれば、リポジトリごとにファイルを直さずに済みます。

Runtime v3 では制限が掛からない

Atlassian の Runtime v3 を有効にして使用するによると、Runtime v3 の docker run は --privileged を含めてどの引数も受け付け、Buildx も使えます。全部のステップか、1つのステップで有効にします。

options:
  runtime:
    cloud:
      version: 3

pipelines:
  default:
    - step:
        image: your-image-with-the-docker-cli
        services:
          - docker
        script:
          - docker run --privileged alpine:3 sh -c "echo ok"

変わる点が2つあります。Pipelines が Docker CLI を入れなくなるので、ビルド用イメージに含めるか、スクリプトで入れます。Docker のレイヤーのキャッシュ(caches: - docker)は廃止予定で、頼んだステップには警告が出てキャッシュは使われません。代わりに Buildx のキャッシュが勧められています。privileged のモードは必要なときだけ、信頼できるイメージで使うようにとも書かれています。

セルフホストのランナー

自分のランナーでも、既定の docker サービスはこれらのコマンドを断ります。ランナーの記事は、docker:dind のイメージで別の Docker サービスを定義し、ランナーで動くステップでそれを使う形を示しています。

definitions:
  services:
    docker-custom:
      type: docker
      image: docker:dind

pipelines:
  default:
    - step:
        runs-on:
          - self.hosted
          - linux
        services:
          - docker-custom
        script:
          - docker run --privileged alpine:3 sh -c "echo ok"

クローン先の外のボリューム

Atlassian のマシンでも許してほしいという要望 BCLOUD-20986(2021年)は、2025年5月に関心が少ないとして閉じられました(投票5)。ファイルを $BITBUCKET_CLONE_DIR の下に写してそこからマウントするか、そのステップを Runtime v3 かランナーに移します。

IntelliJ IDEA で Bitbucket Pipelines を見る

Pipeline Inbox for Bitbucket Pipelines は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。Bitbucket Cloud の全部のリポジトリのパイプラインを IDE のツールウィンドウに並べ、ステップ、失敗したステップと止まったコマンド、Bitbucket が書くそばから伸びるステップのログを見せます。一覧・ステップ・ログは無料。パイプラインの実行・やり直し・停止は Pro(月 US$1.50・30日の無料試用つき)。

JetBrains Marketplace で入れる

Atlassian・Bitbucket・Bitbucket Pipelines は Atlassian の商標、Docker は Docker, Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは Atlassian・Docker・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:「Container 'docker' exceeded memory limit.」 · push したのに Pipelines が動かない · 「Container 'Build' exceeded memory limit.」 · 「Exceeded build time limit of 120 minutes」 · キャッシュが効かない · 「unexpected system error」 · 「command not found」 · サブモジュールを取ってこない · 「We couldn't clone the repository」 · 「No online runner available」 · 「No space left on device」 · 「Step exceeded processing limits」 · 次のステップにアーティファクトが無い · 前は通ったビルドが今は落ちる · Build setup に時間がかかる · ビルド時間を使い切った · 「Permission denied to update branch」 · 「You have reached your pull rate limit」(Docker Hub) · 「There is an error in your bitbucket-pipelines.yml」 · 「This pipeline was paused」(デプロイ) · 「Cannot connect to the Docker daemon」 · 「Host key verification failed」(SSH) · 変数が空になる · IntelliJ IDEA の Bitbucket Pipelines 用プラグインの比較 · English