2015-12-23 8 views
11

私はDocker上でDocker上で動作するプロジェクトを開発環境用に作成しています。docker上でdocker-composeを実行するgitlab-ci-multi-runner

gitlab-ci-multi-runner "Docker mode"インスタンスでGitLabCIを実行したいと考えています。 soullivaneuh/docker-bashイメージがインストールbashのとちょうどドッキングウィンドウの画像であることを

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 

注:ここでは

は私の.gitlab-ci.ymlファイルです。私はこれが失敗する理由absolutly見当がつかない

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 

スクリプトはdocker-compose up -dコマンドに失敗します。

ありがとうございました。

+1

私は同じ回答を探して投稿してから10分後にあなたの質問に出会いました。 Amazing –

答えて

3

No such file or directoryは誤解を招くことがあります。 alpine linux(これはあなたが使っていると思われる)を使って動的にリンクされたバイナリを実行しようとしている間、何度もそれを受けました。

バイナリがコンパイルされてglibcとリンクされていたのですが、アルパインはglibcではなくmuslを使用しています。

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)です)。

または、glibcを使用するdebianやその他のディストリビューションで構築されたイメージを使用することもできます。

+0

私はdebianベースのイメージを使用したいと思いますが、それはドッカーの公式イメージです。私は私のものを作りたくありません。あなたの他の解決策を試みます。 – Soullivaneuh

+0

lddコマンドは私にこれを与えました:https://gist.github.com/Soullivaneuh/3cee5f17166c856a01fc私は結果と私は何をすべきか分かりません。 – Soullivaneuh

+0

そして、straceの結果は次のようになります。https://gist.github.com/Soullivaneuh/79b09f030965b2e41305冗長ではありません。 – Soullivaneuh

関連する問題