【问题标题】:Gitlab-runner cannot access remote docker daemon in another VMGitlab-runner 无法访问另一个 VM 中的远程 docker 守护进程
【发布时间】:2020-06-08 02:03:14
【问题描述】:

我正在尝试使用DOCKER_HOST="ssh://user@IPAddress" 连接到在 VM 上运行的 docker 守护程序。 我已经使用正确的 ssh 密钥配置了机器。

从 gitlab-runner VM 我可以使用ssh user@IPAddress 手动登录到远程机器。我在gitlab-runner 用户帐户下访问它。 gitlab-runner 帐户在 docker 组中。这是一个非登录帐户。也没有添加到 sudo 组。 当我尝试使用 Shell 执行器从 gitlab CI 作业访问 docker 守护进程时。

Job:
  - echo "$(whoami)"
  - eval $(ssh-agent -s)
  - ssh-add ~/.ssh/id_rsa_devops
  - export DOCKER_HOST="ssh://user@IPAddress"
  - docker info

输出

gitlab-runner
Agent pid 7418
/home/gitlab-runner/.ssh/id_rsa_devops: No such file or directory

我检查了钥匙,它就在那条路上。 我不确定发生了什么问题,有人可以告诉我吗?

【问题讨论】:

  • 根据stat ~/.ssh/id_rsa_devops的输出,文件权限是多少?
  • @Lukman 访问:(0600/-rw-------) Uid:(999/gitlab-runner) Gid:(998/gitlab-runner)

标签: docker ssh gitlab gitlab-ci-runner


【解决方案1】:

我在ssh-add 指令之后用额外的行修复了它,它起作用了。

- ssh-keyscan <IPAddress here> >> ~/.ssh/known_hosts && chmod 644 ~/.ssh/known_hosts

【讨论】:

    【解决方案2】:

    最近,我实现了类似的场景(数据中心)。在那里我创建了一个 gitlab-runner 登录帐户,一旦您必须从它登录到远程服务器以进行真实性验证。

    【讨论】:

    • 我已经完成了。我写了我可以使用密钥和帐户从 gitlab-runner 机器登录到远程机器。
    猜你喜欢
    • 2020-02-28
    • 2020-02-10
    • 1970-01-01
    • 2022-06-22
    • 2020-03-09
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    相关资源
    最近更新 更多