一尘不染

在.gitlab-ci.yml中运行docker-compose build

docker

我有一个.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

我究竟做错了什么?


阅读 510

收藏
2020-06-17

共1个答案

一尘不染

编辑 我添加了另一个答案,为支持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轻松访问自己的图像。

2020-06-17