首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gitlab转轮对接机无法解析主机

Gitlab转轮对接机无法解析主机
EN

Stack Overflow用户
提问于 2018-05-14 08:24:15
回答 7查看 36.7K关注 0票数 25

我在我的Ubuntu操作系统上使用了两个容器: Gitlab-ce和gitlab-runner

容器名称是:gitlab_gitlab_1gitlab_gitlab-runner_1

我通过gitlab.localhost.com:801访问我的gitlab应用程序

我成功地使用以下命令注册了一个运行程序:

代码语言:javascript
复制
docker exec -it gitlab_gitlab-runner_1 gitlab-runner register --non-interactive --url http://gitlab_gitlab_1 --registration-token _wgMgEx3nBocYQtoi83c --executor docker --docker-image alpine:latest

然后,当我开始作业时,我收到以下错误消息:

代码语言:javascript
复制
Running with gitlab-runner 10.7.1 (b9bba623)
  on 589a617ee407 12ba77f7
Using Docker executor with image alpine:latest ...
Pulling docker image alpine:latest ...
Using docker image sha256:3fd9065eaf02feaf94d68376da52541925650b81698c53c6824d92ff63f98353 for alpine:latest ...
Running on runner-12ba77f7-project-1-concurrent-0 via 01196621a827...
Cloning repository...
Cloning into '/builds/root/test'...
fatal: unable to access 'http://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@gitlab.localhost.com/root/test.git/': Could not resolve host: gitlab.localhost.com
ERROR: Job failed: exit code 1

在这两个容器中,我可以访问主机名gitlab.localhost.com。我认为这个问题来自于无法解决主机的图像高寒。

我怎么才能解决呢?

谢谢

编辑1

docker-compose.yml

代码语言:javascript
复制
version: '3'
services:
  gitlab:
    image: 'gitlab/gitlab-ce:latest'
    restart: always
    hostname: 'gitlab.localhost.com'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.localhost.com'
    ports:
      - '801:80'
      - '443:443'
      - '22:22'
    volumes:
      - '/srv/gitlab/config:/etc/gitlab'
      - '/srv/gitlab/logs:/var/log/gitlab'
      - '/srv/gitlab/data:/var/opt/gitlab'
    networks:
      - 'default'

  gitlab-runner:
    image: 'gitlab/gitlab-runner:latest'
    depends_on:
      - 'gitlab'
    restart: always
    volumes:
      - '/srv/gitlab-runner/config:/etc/gitlab-runner'
      - '/var/run/docker.sock:/var/run/docker.sock'
    networks:
      - 'default'
    links:
      - 'gitlab:gitlab.localhost.com'

networks:
  default:
    driver: 'bridge'

编辑2

docker-compose.yml

代码语言:javascript
复制
version: '3'
services:
  gitlab:
    image: 'gitlab/gitlab-ce:latest'
    restart: always
    hostname: 'gitlab.localhost.com'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.localhost.com'
    ports:
      - '801:80'
      - '443:443'
      - '22:22'
    volumes:
      - '/srv/gitlab/config:/etc/gitlab'
      - '/srv/gitlab/logs:/var/log/gitlab'
      - '/srv/gitlab/data:/var/opt/gitlab'
    networks:
      default:
        aliases:
          - 'gitlab.localhost.com'

  gitlab-runner:
    image: 'gitlab/gitlab-runner:latest'
    depends_on:
      - 'gitlab'
    restart: always
    volumes:
      - '/srv/gitlab-runner/config:/etc/gitlab-runner'
      - '/var/run/docker.sock:/var/run/docker.sock'
    networks:
      - 'default'

networks:
  default:
    driver: 'bridge'
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2018-05-22 07:16:28

感谢Tarun链接和Joyce帖子,在[runners.docker] section中有一个来自gitlab跑步者repos的[runners.docker] section

代码语言:javascript
复制
network_mode : Add container to a custom network

因此,我必须在config.toml中使用我的网络名设置此选项,如

代码语言:javascript
复制
[[runners]]
  ...
  [runners.docker]
    ...
    network_mode = "gitlab_default"

或者当从命令行创建运行程序时

代码语言:javascript
复制
docker exec -it gitlab_gitlab-runner_1 gitlab-runner register \
--non-interactive \
--url http://gitlab_gitlab_1 \
--registration-token _wgMgEx3nBocYQtoi83c \
--executor docker \
--docker-image alpine:latest \
--docker-network-mode gitlab_default
票数 38
EN

Stack Overflow用户

发布于 2020-10-16 22:30:33

我知道这条线是旧的,但我看到到处都有线程指向这个,但没有为我解决。

我收到了同样的错误消息:

致命:无法访问'http://gitlab.maison.fr:82/angular/test1.git/':无法解析主机: gitlab.maison.fr

network_mode = "host"添加到config.toml解决了这个问题。

我在本地专用网上的config.toml:

代码语言:javascript
复制
concurrent = 1
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "mars"
  url = "http://gitlab.maison.fr:82/"
  token = "TCfHAheTUdWMU2-fFNxK"
  executor = "docker"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = false
    image = "gitlab/gitlab-runner:latest"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
    network_mode = "host"
票数 21
EN

Stack Overflow用户

发布于 2021-10-16 10:19:19

这是为我工作,没有定义网络在码头组成。只需在gitlab配置中添加一个extra_hosts记录,就像我们在其他操作系统中添加一个记录一样。

sudo vim /etc/gitlab-runner/config.toml

代码语言:javascript
复制
  [runners.docker]
tls_verify = false
image = "alpine:latest"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
extra_hosts = ["xxx.xxx.com.cn:192.168.10.110"]

https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runnersdocker-section

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50325932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档