web-dev-qa-db-ja.com

GitLab-CI:実行していないコンテナーにリンクできない

私はgitlab-ciを使用してセットアップ作業を試みました。単純なgitlab-ci.ymlファイルがあります

build_ubuntu:
  image: ubuntu:14.04
  services:
    - rikorose/gcc-cmake:gcc-5
  stage: build
  script:
    - apt-get update
    - apt-get install -y python3 build-essential curl
    - cmake --version
  tags:
    - linux

Gccとcmake(apt-getバージョンは古い)がインストールされたubuntu 14.04 LTSを入手したい。ローカルで使用する場合(docker --linkコマンドを使用)、すべて機能しますが、gitlab-ci-runnerで処理すると、次の警告(私の場合はエラー)が表示されます。

Running with gitlab-ci-multi-runner 9.2.0 (adfc387)
on xubuntuci1 (19c6d3ce)
Using Docker executor with image ubuntu:14.04 ...
Starting service rikorose/gcc-cmake:gcc-5 ...
Pulling docker image rikorose/gcc-cmake:gcc-5 ...
Using docker image rikorose/gcc-cmake:gcc-5 
ID=sha256:ef2ac00b36e638897a2046c954e89ea953cfd5c257bf60103e32880e88299608 
for rikorose/gcc-cmake service...
Waiting for services to be up and running...

*** WARNING: Service runner-19c6d3ce-project-54-concurrent-0-rikorose__gcc-
cmake probably didn't start properly.

Error response from daemon: Cannot link to a non running container: /runner-
19c6d3ce-project-54-concurrent-0-rikorose__gcc-cmake AS /runner-19c6d3ce-
project-54-concurrent-0-rikorose__gcc-cmake-wait-for-service/runner-
19c6d3ce-project-54-concurrent-0-rikorose__gcc-cmake

誰かがこれを修正する方法を知っていますか?

よろしくお願いします

12
tonka

Gitlab-runnerコンテナを

--privileged true

しかし、それだけでは不十分です。登録後にgitlabによってスピンアップされたランナーコンテナーにも特権が必要です。したがって、gitlab-runnerをマウントする必要があります

docker exec -it runner /bin/bash
nano /etc/gitlab-runner/config.toml

特権フラグをfalseからtrueに変更します。

privileged = true

それで問題は解決します!

13
wendellmva