在docker gitlab-ci-multi-runner上运行docker-compose

我有一个docker-compose开发环境的Docker上运行的项目。

我想通过gitlab-ci-multi-runner“Docker模式”实例让它在GitLabCI上运行。

这是我的.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 

请注意, soullivaneuh / docker-bash图像只是安装了bash的docker镜像。

该脚本在docker-compose up -d命令上失败:

 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 

我绝对不知道为什么这是失败的。

感谢帮助。

No such file or directory是误导性的。 我已经收到了很多次,试图运行使用高山Linuxdynamic链接的二进制文件(它似乎你正在使用)。

问题(据我所知)是二进制编译和链接glibc,但高山使用musl,而不是glibc。

你可以使用ldd /usr/local/bin/docker-compose来告诉你哪些库缺失(或者如果所有的都失败了,用strace运行)。

为了得到它的工作,从Python源代码( https://docs.docker.com/compose/install/#install-using-pip )安装可能更容易,这是官方的合成图像所做的( https:// github.com/docker/compose/blob/master/Dockerfile.run )。

或者你可以使用debian或其他使用glibc的发行版上的图像。