致命:无法访问“https://gitlab.com/project.git/”:无法解析主机:gitlab.com

问题描述 投票:0回答:1

几天来我一直在努力寻找解决方案。

我的 gitlab runner 无法连接到 git repos,错误是:fatal: unable to access 'https://gitlab.com/project.git/': Could not resolve host: gitlab.com

我尝试了几种解决方案:

  • 重启docker:sudo systemctl守护进程
  • 重新加载创建新的跑步者
  • 更改了 docker 镜像

但我认为问题出在我机器(debian ovh)的DNS上,我不知道如何解决。

实际上,

我的 ci cd 是:

stages:
- docker

back:docker:
  stage: docker
  tags:
    - wellcov-runner
  image: docker:latest
  services:
    - docker:dind
  before_script:
  - echo -n $MAIN_REGISTRY_PASSWORD | docker login -u $MAIN_REGISTRY_USER --password-stdin $CI_REGISTRY
  variables:
    # Pushing into the shared Wellcov container registry (main repository)
    IMAGE: $MAIN_REGISTRY/wellcov-back-end:$CI_COMMIT_REF_NAME
  cache:
    paths:
    - target/
  script:
  - echo "Gitlab CI - Building back-end ${CI_COMMIT_REF_NAME} docker"
  - docker build -t $IMAGE . --build-arg MAVEN_IMAGE=$MAVEN_IMAGE --build-arg UBI_IMAGE=$UBI_IMAGE
  - docker push $IMAGE

转轮参数:

concurrent = 1
check_interval = 0
shutdown_timeout = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "wellcov-runner"
  url = "https://gitlab.com/"
  id = 22344137
  token = "...."
  token_obtained_at = 2023-04-01T17:10:09Z
  token_expires_at = 0001-01-01T00:00:00Z
  executor = "docker"
  [runners.cache]
    MaxUploadedArchiveSize = 0
  [runners.docker]
    tls_verify = false
    image = "ruby:2.7"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
    shm_size = 0

我也怀疑容器的端口不是服务的8093/tcp

我应该向 iptables 添加 dnas 规则还是更新容器以便它在端口 8093/tcp 上运行

码头服务 ls :

ID             NAME                              MODE         REPLICAS   IMAGE
x4lq3jnshtii   gitlab_runner                     replicated   1/1        gitlab/gitlab-runner:latest                                            ***:8093->8093/tcp**

Docker 容器 ls

CONTAINER ID   IMAGE                                                                  COMMAND                  CREATED        STATUS                  PORTS      NAMES
652d53ee4780   gitlab/gitlab-runner:latest                                            "/usr/bin/dumb-init …"   14 hours ago   Up 14 hours                        gitlab_runner.1.m3wt71h3f5eldppib83j3uvzj

感谢您的帮助

docker gitlab-ci-runner iptables cicd runner
1个回答
0
投票

解决方案一:

重新启动您的 docker 实例。例如:

systemctl restart docker
。 这可能会像在类似案例中看到的那样修复它。我也遇到过一次。


解决方案二:

检查您的存储库权限,这可能是那个而不是 docker 的问题。它可能缺少访问权限或配置错误等。

可能与防火墙有关。


解决方案 3

有一个设置你可以在 gitlab-runner 的 config.toml 中传递:

[[runners]]
...
  [runners.docker]
    network_mode= <----- THIS

此设置将告诉 gitlab-runner 在启动时将容器放置在哪个网络中,因此如果您知道网络的名称,您的 gitlab 和 gitlab-containers 将在其上运行:

docker inspect --format='{{.NetworkSettings.Networks}}' <gitlab container id>

然后将其添加为网络模式(在这种情况下,网络名称将是

git-lab_default
。无论你有什么改变它):

[[runners]]
...
  [runners.docker]
    network mode= "git-lab_default"

如果上述方法失败,请发表评论。

资料来源:
#47283 | gitlab-foss
#6644 | gitlab-runner

© www.soinside.com 2019 - 2024. All rights reserved.