我在连接到远程(DigitalOcean)docker 引擎时遇到问题。我所做的是
- 在 Ubuntu 20.04 上使用 Docker 19.03.12 制作了一个 droplet。
- 创建一个新用户 myuser 并添加到远程主机上的 docker 组。
- 为新用户创建了一个 .ssh/authorized_keys 并设置了权限、所有者等。
- 重新启动 ssh 和 docker 服务。
结果
- 我可以使用 myuser 从我的 Mac 笔记本 ssh 到我的远程主机。(当我运行 ssh 钥匙串时,要求输入 id_rsa.key 的密码。)
- 通过 ssh 登录到远程主机后,我可以运行 docker ps, docker info 没有任何问题。
问题
在为远程引擎创建新上下文之前,我尝试在我的 Mac 笔记本电脑上从本地客户端运行一些 docker 命令。对我来说有趣的部分是以下命令都不需要 id_rsa 密码)
docker -H ssh://myuser@droplet_ip ps
-> 错误DOCKER_HOST=ssh://myuser@droplet_ip docker ps
-> 错误
错误
docker -H ssh://myuser@droplet_ip ps
error during connect: Get http://docker/v1.40/containers/json: command [ssh -l myuser -- droplet_ip docker system dial-stdio] has exited with exit status 255, please make sure the URL is valid, and Docker 18.09 or later is installed on the remote host: stderr=myuser@droplet_ip: Permission denied (publickey).
我错过了哪一步?如何连接到远程 docker 引擎?