Docker-机器通过 ssh 隧道访问远程 docker 守护进程

Docker-machine access to remote docker daemon through ssh tunneling

我想通过 ssh 将 docker 机器与远程服务器 docker 守护进程一起使用,因此无需在远程服务器中打开 2376 端口。

本地主机:

$ docker-machine create --driver generic --generic-ip-address [IP_Address] --generic-engine-port 2376 --generic-ssh-key ~/.ssh/id_rsa --generic-ssh-user root [Host]

远程主机:

$ docker daemon -H tcp://127.0.0.1:2376

本地主机命令执行结果:

$ docker-machine create --driver generic --generic-ip-address [IP_Address] --generic-engine-port 2376 --generic-ssh-key ~/.ssh/id_rsa --generic-ssh-user root [Host]

...

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

根据 nmap 远程端口 2376 已关闭,因此错误是有道理的。

我已经尝试通过在我的本地主机上执行以下命令来通过 ssh 建立隧道:

$ ssh -L 2376:127.0.0.1:2376 [Remote_Host]

** 注意 docker 机器正在尝试访问远程主机中的 docker 守护程序,因此隧道很有用 **

我想也许使用 ssh -R 或两者的组合会起作用,但我还不能让它起作用,你有什么想法或解决方法来让它起作用吗?

请不要犹豫,给我一个完全不同的方法来解决这个问题。

提前致谢。

你试过rdocker了吗?它似乎完全符合您的要求。干杯