我需要在 gitlab CI 中使用 docker compose,但出现以下错误:“‘compose’不是 docker 命令。”。我还检查了我的服务器和安装的 Docker Compose 版本 v2.26.0。
顺便说一句,当我使用旧语法“docker-compose”并调用 docker-compose version 时,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