Gitlab ci: «compose» не является командой докера

Мне нужно использовать команду docker compose в моем gitlab CI, но у меня возникла следующая ошибка: «compose» не является командой docker.». Также я проверил свой сервер и установленную версию Docker Compose v2.26.0.

Кстати, когда я использую старый синтаксис «docker-compose» и вызываю версию docker-compose, CI возвращает «docker-compose version 1.25.0».

Мой файл .gitlab-ci.yml

deploy:
  image: docker:latest

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

Журнал версий Docker:

Client:
 Version:           24.0.5
 API version:       1.43
 Go version:        go1.20.3
 Git commit:        24.0.5-0ubuntu1~20.04.1
 Built:             Mon Aug 21 19:50:14 2023
 OS/Arch:           linux/amd64
 Context:           default

Server:
 Engine:
  Version:          24.0.5
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.3
  Git commit:       24.0.5-0ubuntu1~20.04.1
  Built:            Mon Aug 21 19:50:14 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.7.2
  GitCommit:        
 runc:
  Version:          1.1.7-0ubuntu1~20.04.2
  GitCommit:        
 docker-init:
  Version:          0.19.0
  GitCommit:        

Может быть, вы знаете, почему это происходит?

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
2
0
74
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Итак, я нашел свою ошибку.

  1. Прежде всего, необходимо создать gitlab-runner с помощью этой команды:
sudo gitlab-runner register -n \
  --url "https://gitlab.com/" \
  --registration-token REGISTRATION_TOKEN \
  --executor docker \
  --description "My Docker Runner" \
  --docker-image "docker:24.0.5" \
  --docker-privileged \
  --docker-volumes "/certs/client"
  1. gitlab-ci.yml должен выглядеть так:
deploy:
  image: docker:24.0.5

  services:
    - docker:24.0.5-dind

  before_script:
    - df
    - cat /etc/resolv.conf
    - cat /etc/hosts
    - docker version

  script:
    - docker info

Другие вопросы по теме