目标:本地连接到远程repl(例如通过lein repl :connect)。
在本地,这很容易:
lein repl :connect 8081,瞧!复制已连接当 repl 在未打开的端口上运行时,我还通过使用 SSH 隧道连接到远程服务器上的 repl:
ssh -N -T -L 8081:localhost:8081 me@some.hostlein repl :connect 8081瞧!复制已连接但是,我当前的设置是“服务器”在 Docker 容器中运行,该容器映射端口 8081。因此,为了连接到 nrepl 服务器,必须转到 local -> some.host -> docker-container -> nrepl 。
我可以看到我的 docker 容器映射了端口 8081:
$ sudo docker port container-id 8081
0.0.0.0:8081
Run Code Online (Sandbox Code Playgroud)
并且,在托管 docker 容器的服务器上,我可以看到端口 8081 正在侦听:
$ netstat -anl | sed -n '2p;/8081/p' …Run Code Online (Sandbox Code Playgroud)