首页 > 解决方案 > Gitlab-runner 无法访问另一个 VM 中的远程 docker 守护进程

问题描述

我正在尝试使用DOCKER_HOST="ssh://user@IPAddress". 我已经使用正确的 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

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

标签: dockersshgitlabgitlab-ci-runner

解决方案


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

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


推荐阅读