Мне нужно использовать команду 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:
Может быть, вы знаете, почему это происходит?
Итак, я нашел свою ошибку.
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"
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