1. ホーム
  2. docker

[解決済み] .gitlab-ci.yml で docker-compose build を実行する。

2023-06-14 08:26:08

質問

私は .gitlab-ci.yml ファイルがあり、そこには以下の内容が含まれています。

image: docker:latest

services:
  - docker:dind

before_script:
  - docker info
  - docker-compose --version

buildJob:
  stage: build
  tags:
    - docker
  script:
    - docker-compose build

しかし ci-log メッセージを受け取ります。

$ docker-compose --version
/bin/sh: eval: line 46: docker-compose: not found

私は何を間違えているのでしょうか?

どうすればいいのでしょうか?

編集 docker-composeをサポートする.gitlab-ci.ymlの設定の最小限の例を示す別の回答を追加しました。


docker-compose は Python パッケージとしてインストールすることができますが、これはあなたのイメージには同梱されていません。あなたが選んだイメージは、Python のインストールさえ提供していません。

$ docker run --rm -it docker sh
/ # find / -iname "python"
/ # 

Pythonを探すと、空っぽの結果が返ってきます。そのため、あなたのニーズに合った、理想的にはdocker-composeがインストールされている、あるいは作成した別のイメージを選択する必要があります。

あなたが選んだdockerイメージはAlpine Linuxを使用しています。もしAlpine Linuxに慣れていないのであれば、これをベースにして、別のイメージを作成することもできます。

私は同じ問題があったので、公開されている GitHub リポジトリに Dockerfile を作成し、それを私の Docker Hub アカウントと接続して、GitHub リポジトリにプッシュするたびに私のイメージを構築する自動ビルドを選択しました。そうすると、GitLab CIで自分のイメージに簡単にアクセスできるようになります。