Gitlab-runner 无法访问另一个 VM 中的远程 docker 守护进程

Gitlab-runner cannot access remote docker daemon in another VM

我正在尝试使用 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

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

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

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

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