在docker gitlab ci multi runner上运行docker compose

在docker gitlab ci multi runner上运行docker compose,docker,docker-compose,gitlab-ci,gitlab-ci-runner,Docker,Docker Compose,Gitlab Ci,Gitlab Ci Runner,我有一个项目运行在Docker上,Docker compose for dev环境 我想让它在gitlab ci上运行,并带有gitlab ci多运行程序“Docker模式”实例 这是我的.gitlab-ci.yml文件: image: soullivaneuh/docker-bash before_script: - apk add --update bash curl - curl --silent --location https://github.com/docker/comp

我有一个项目运行在Docker上,Docker compose for dev环境

我想让它在gitlab ci上运行,并带有gitlab ci多运行程序“Docker模式”实例

这是我的.gitlab-ci.yml文件:

image: soullivaneuh/docker-bash

before_script:
  - apk add --update bash curl
  - curl --silent --location https://github.com/docker/compose/releases/download/1.5.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  - chmod +x /usr/local/bin/docker-compose
  - ./configure
  - docker-compose up -d
请注意,该映像只是安装了bash的docker映像

脚本在执行以下命令时失败:

gitlab-ci-multi-runner 0.7.2 (998cf5d)
Using Docker executor with image soullivaneuh/docker-bash ...
Pulling docker image soullivaneuh/docker-bash:latest ...

Running on runner-1ee5079f-project-3-concurrent-1 via sd-59984...
Fetching changes...
Removing app/config/parameters.yml
Removing docker-compose.env
HEAD is now at 5c5e7ff remove docker service
From https://git.dummy.net/project/project
   5c5e7ff..45e643d  docker-ci  -> origin/docker-ci
Checking out 45e643dd as docker-ci...
Previous HEAD position was 5c5e7ff... remove docker service
HEAD is now at 45e643d... Remove docker info commands

$ apk add --update bash curl
fetch http://dl-4.alpinelinux.org/alpine/v3.2/main/x86_64/APKINDEX.tar.gz
OK: 10 MiB in 28 packages
$ curl --silent --location https://github.com/docker/compose/releases/download/1.5.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
$ ./configure
$ docker-compose up -d
bash: line 30: /usr/local/bin/docker-compose: No such file or directory

ERROR: Build failed with: exit code 1
我完全不知道为什么会失败


谢谢你的帮助

没有此类文件或目录
具有误导性。我在尝试使用alpinelinux运行动态链接的二进制文件时收到过很多这样的消息(看起来您正在使用alpinelinux)

问题是(据我所知)二进制文件是针对glibc编译和链接的,但是alpine使用musl,而不是glibc

您可以使用
ldd/usr/local/bin/docker compose
来告诉您缺少哪些库(或者在其他所有操作都失败的情况下使用
strace
运行它)

要使其正常工作,从python源代码()安装可能会更容易,这就是官方的compose映像所做的()


或者你也可以使用debian或其他一些使用glibc的发行版制作的图像。

我在发布寻找相同答案10分钟后在这里遇到了你的问题。AmazingI希望使用基于debian的映像,但这是docker的官方映像。我不想创造我的。我将尝试其他解决方案。ldd命令告诉我:我不确定结果以及应该做什么。然后strace结果:不太详细。最后,pip方法开始工作。现在我有另一个问题,但我认为这将是另一个问题。