docker - GitLab:无法注册运行者(使用正确的 token !) - 干净/最新的 docker install

标签 docker gitlab gitlab-ci gitlab-ci-runner

注意:似乎遇到此问题的其他所有人都使用了错误的 token - 我使用的是管理区域 -> 概述 -> Runners 下的“手动设置共享运行器”中的一个,所以我确定它是正确的。

我正在尝试使用一个从 docker 容器工作的共享运行器来获得 GitLab 的基本设置,但是当我尝试注册时,我一直得到这个:

ERROR: Registering runner... forbidden (check registration token)  runner=Ds-3E59o
PANIC: Failed to register this runner. Perhaps you are having network problems 

这些是我采取的步骤(通过删除 /srv/gitlab 从新鲜测试):
  • 运行 GitLab:
  • # As per https://docs.gitlab.com/omnibus/docker/#pre-configure-docker-container.
    sudo docker run --detach \
      --hostname gitlab.example.com \
      --env GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.example.com/'; gitlab_rails['lfs_enabled'] = true;" \
      --publish 443:443 --publish 80:80 --publish 22:22 \
      --name gitlab \
      --restart always \
      --volume /srv/gitlab/config:/etc/gitlab \
      --volume /srv/gitlab/logs:/var/log/gitlab \
      --volume /srv/gitlab/data:/var/opt/gitlab \
      gitlab/gitlab-ce:latest
    
  • 跑跑者:
  • # As per: https://docs.gitlab.com/runner/install/docker.html#docker-image-installation.
    docker run -d --name gitlab-runner --restart always \
      -v /srv/gitlab-runner/config:/etc/gitlab-runner \
      -v /var/run/docker.sock:/var/run/docker.sock \
      gitlab/gitlab-runner:latest
    
  • 等待 gitlab 启动,设置 root 密码,以 root 身份登录,进入 Configure GitLab -> Overview -> Runners,复制访问 token 。
  • 尝试注册运行者:
  • # As per: https://docs.gitlab.com/runner/register/index.html#one-line-registration-command.
    docker run --rm -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register \
        --non-interactive \
        --executor "docker" \
        --docker-image alpine:latest \
        --url "http://gitlab.example.com/" \
        --registration-token "VMTMR8TysySosb6xuTLZ" \
        --description "docker-runner" \
        --tag-list "docker" \
        --run-untagged="true" \
        --locked="false" \
        --access-level="not_protected"
    

    此时,我收到上面显示的错误。

    我知道运行运行程序并在运行时注册它似乎很奇怪,但是 1. 文档有这种方式和 2. 我在第一次注册时得到相同的结果。

    我在做傻事吗?

    (注:从 forum.gitlab.com 复制,但我在那里运气不佳:https://forum.gitlab.com/t/cant-register-runner-clean-latest-docker-install/30884)

    最佳答案

    我尝试使用主机网络(即添加 --network host )到 gitlab容器,它起作用了。不知道为什么,但我会感谢任何人的任何见解。

    关于docker - GitLab:无法注册运行者(使用正确的 token !) - 干净/最新的 docker install,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58417234/

    相关文章:

    docker - 在 dockerfile 中运行 go build main.go

    docker - 容器港口转发

    apache - apache代理通下的Gitlab相对URL

    gitlab - Gitlab secret 变量中的转义字符

    apache - 适用于Apache项目的Gitlab CI

    linux - Docker容器上的Proftpd目录列表错误

    docker - 如何在 Dockerfile 中编写多行命令,同时保留新行?

    Git:保留当前代码状态和​​最后四次提交

    亚搏体育应用程序 CI/CD : Run jobs only when files in a specific directory have changed

    node.js - 在 gitlab ci 中找不到 yarn 命令