2017-05-30 107 views
2

我试图让我的设置工作与gitlab-ci。我有一个简单gitlab-ci.yml文件GitLab-CI:无法链接到非运行容器

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 

我希望得到一个Ubuntu的LTS 14.04用gcc和cmake的(apt-get的版本是旧的)安装。如果我用它在本地(通过搬运工--link命令)一切正常,但是当gitlab-CI-亚军将处理它,我得到以下华林(这是在我的情况是错误)

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 

有谁知道如何解决这个问题?

在此先感谢 通卡

+0

你怎么跑'rikorose/GCC-的cmake:GCC-5'本地? –

+0

docker run -itd rikorose/gcc-cmake:gcc-5 --link = myrunningubuntucontainer – tonka

+0

您是否使用共享的跑步者或者是否设置了自己的跑步者? –

回答

3

您必须启动gitlab亚军容器

--privileged true 

但这是不够的。任何注册后由gitlab启动的runner容器都需要特权。所以,你需要安装gitlab亚军

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

,改变从假特权标志为真:

privileged = true 

这将解决这个问题!

+0

正是这个固定它对我来说,非常感谢!据我可以看到它没有在官方说明中提到.... – JosephH

2

@Wendell Muntslag为我工作!这是我的搬运工主机/srv/gitlab-runner/config/config.toml

concurrent = 1 
check_interval = 0 

[[runners]] 
    name = "b3a50be8fc85" 
    url = "https://gitlab.com" 
    token = "f2xxxxxx_secret_gitlab-ci_token_here_xxxx49" 
    executor = "docker" 
    [runners.docker] 
    tls_verify = false 
    image = "tmaier/docker-compose:latest" 
    privileged = true 
    disable_cache = false 
    volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"] 
    shm_size = 0 
    [runners.cache]