[[Bitbucket Pipelines]]で[[Docker Compose]]を使いたかったので、その記録。
## インストール
https://matsuand.github.io/docs.docker.jp.onthefly/compose/install/
[[bitbucket-pipelines.yml]]の`script`に以下を記載。
```bash
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
```
これで`docker compose`コマンドが使える。あとは[[Dockerを使用 (Bitbucket Pipelines)|Dockerを使用]]できるように`service`を指定する。
```yaml
- step:
services:
- docker
script:
- DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
- mkdir -p $DOCKER_CONFIG/cli-plugins
- curl -SL https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
- chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
- docker compose --help
```
## トラブルシューティング
以下のエラーが発生する。
```
listing workers for Build: failed to list workers: Unavailable: connection error: desc = "transport: Error while dialing unable to upgrade to h2c, received 403"
```
`DOCKER_BUILDKIT=0`で[[Docker BuildKit]]を無効化したらなおった。(どうして?)
<div class="link-card">
<div class="link-card-header">
<img src="https://github.githubassets.com/favicons/favicon.svg" class="link-card-site-icon"/>
<span class="link-card-site-name">GitHub</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<div>
<p class="link-card-title">Compose V2 v2.2.3+: Cannot run docker-compose if a container uses build: · Issue #13889 · containers/podman</p>
</div>
<div class="link-card-description">
Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line) /kind bug Description Begi...
</div>
</div>
<img src="https://opengraph.githubassets.com/0719da7f95bd518656b1491a2c3076d19f4201454c26b16516343330860e2265/containers/podman/issues/13889" class="link-card-image" />
</div>
<a href="https://github.com/containers/podman/issues/13889"></a>
</div>