docker - 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
我检查了钥匙,它就在那条路上。我不确定出了什么问题,有人可以告诉我吗?
解决方案
我在指令之后用额外的线修复了它ssh-add
并且它起作用了。
- ssh-keyscan <IPAddress here> >> ~/.ssh/known_hosts && chmod 644 ~/.ssh/known_hosts