将CI Runner连接到Docker网络

时间:2016-11-01 14:33:13

标签: docker gitlab gitlab-ci

我有以下配置:

  • dockered gitlab(名为gitlab)
  • dockered gitlab-ci-multirunner(链接到gitlab并命名为gitlab-runners)。
       ┌──────────────────────┐  ┌─────────┐
       │      172.12.x.x      │  │172.13.x.│
      ┌┴──────────┬┬──────────┴┐┌┴─────────┴┐
      │  GitLab   ││  GitLab   ││  GitLab   │
      │           ││  Runners  ││  Runners  │
      │           ││           ││           │
      └───────────┘└───────────┘└───────────┘
           │            │    │    ▲
           │            │    │   ╱
           │            │    │  ╱
           │            │    ▼ ╱
    ───────┴────────────┴────────────────────

我成功地将一个跑步者注册到gitlab中,但是当我尝试运行一个构建时,我无法将gitlab-runners生成的项目的docker容器连接到我的gitlab docker;因此,当项目docker尝试克隆项目时,它无法解析名称http://gitlab/我尝试在我的跑步者的toml文件中使用参数-links=["network-name:gitlab"],但这会导致:

API error (500) Could not get container for <network name>. 

任何线索?

这是我的.toml:

concurrent = 1 check_interval = 0

  [[runners]]
  name = "d4cf95ba5a90"
  url = "http://gitlab/ci"
  token = "9e6c2edb5832f92512a69df1ec4464"
  executor = "docker"
  [runners.docker]
    tls_verify = false
    image = "node:4.2.2"
    privileged = false
    disable_cache = false
    volumes = ["/cache"]
    links = ["evci_default:gitlab"]
  [runners.cache]

1 个答案:

答案 0 :(得分:1)

我发现只有一个解决方案是将docker host的IP添加到&#39; extra_hosts&#39; config.toml

extra_hosts = [&#34; host:192.168.137.1&#34;]