docker - 将 GitLab 运行程序与 GitLab 连接时出现问题

标签 docker gitlab gitlab-ci-runner

GitLab 目前正在给定主机上作为容器运行,我正在尝试在另一个容器中的同一主机上设置 GitLab 运行程序:

GitLab 脚本(GitLab 版本:9.3.9):

[root@rado1 gitlab_runner]# cat gitlab.sh
#!/bin/bash
sudo docker run --detach \
     --hostname gitlab.example.com \
     --publish 443:443 --publish 80:80 --publish 2222:22 \
     --name gitlab \
     --restart always \
     --volume /mnt/data/gitlab/config:/etc/gitlab \
     --volume /mnt/data/gitlab/logs:/var/log/gitlab \
     --volume /mnt/data/gitlab/data:/var/opt/gitlab \
     gitlab/gitlab-ce:latest

GitLab Runner 脚本:

[root@rado1 gitlab_runner]# cat gitlab_runner.sh
docker run --name gitlab-ci-multi-runner -d --restart=always \
  --volume /mnt/data/gitlab/gitlab-runner:/home/gitlab_ci_multi_runner/data \
  --env='CI_SERVER_URL=http://gitlab/ci' --env='RUNNER_TOKEN=6cE9HefxGFfbAdadS4eT' \
  --env='RUNNER_DESCRIPTION=runnerA' --env='RUNNER_EXECUTOR=shell' \
  --link gitlab \
  sameersbn/gitlab-ci-multi-runner:1.1.4-7

GitLab 在 HTTPS 上运行。

现在,当我尝试运行 gitlab_runner.sh 时,出现以下错误:

ERROR: Registering runner... failed                 runner=6cE9Hefx 
status=couldn't execute POST against http://gitlab/ci/api/v1/runners/register.json: 
Post http://gitlab/ci/api/v1/runners/register.json: 
dial tcp 172.17.0.2:80: getsockopt: connection refused
PANIC: Failed to register this runner. Perhaps you are having network problems 

我可以看到 172.17.0.2 仅是 GitLab IP,如 Rancher UI 中所示:

enter image description here

最佳答案

我终于成功了。我将容器重命名为 gitlab.abc.net 并将 gitlab runner 脚本的配置更新为以下内容:

[root@rado1 gitlab_runner]# cat gitlab_runner.sh
docker run --name gitlab-ci-multi-runner -d --restart=always \
  --volume /mnt/data/gitlab/gitlab-runner:/home/gitlab_ci_multi_runner/data \
  --env='CI_SERVER_URL=https://gitlab.abc.net/ci' --env='RUNNER_TOKEN=6cE9HefxGFfbAdadS4eT' \
  --env='RUNNER_DESCRIPTION=runnerA' --env='RUNNER_EXECUTOR=shell' \
  --link gitlab.abc.net \
  sameersbn/gitlab-ci-multi-runner:1.1.4-7

关于docker - 将 GitLab 运行程序与 GitLab 连接时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46365746/

相关文章:

python - 在 docker 构建中使用 pip 缓存目录

symfony - 无法连接到主机,elasticsearch 关闭? Symfony 4 elastica/rulfin 客户端。 docker

docker - 将简单的 docker 镜像部署到 openshift 的问题

git - 只允许在 master 上进行经过验证的提交

当合并请求被合并时,Gitlab 运行管道作业

gnupg - GitLab CI 上的 Blackbox,无法加载 GPG 私钥

docker - 流明:PHPUnit失败,但在Gitlab CI Runner中通过了测试

Gitlab - git clone 在 macOS 中使用 ssh 和 https 都失败

docker - 自定义服务器中的 gitlab-runner

Ruby 正则表达式过滤掉以 "string"后缀结尾的单词