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