我尝试从端口7888上运行另一个链接的Docker容器的Docker容器连接到nREPL。尽管使用-p 7888
公开了端口,但将容器与-link <first_container_name>:repl
链接起来并使用Docker注入的环境主机和端口变量,我得到&#34;连接被拒绝。&#34; 错误。
docker run -i -t -p 7888 clojure-image lein repl :headless :port 7888
~$ nREPL server started on port 55555 on host 127.0.0.1
docker run -i -t -link <first_container_name>:repl clojure-image /bin/bash
username@hostname~$ lein repl :connect 172.0.2.1:7888
为什么我的连接遭到拒绝?我能够在Docker容器之间连接其他服务,如AMQP。
答案 0 :(得分:18)
您必须在:host 0.0.0.0
命令中包含lein repl
以允许连接127.0.0.1以外的主机名/地址:
lein repl :headless :host 0.0.0.0 :port 7888
答案 1 :(得分:4)
您可以按如下方式输入端口号:
lein repl :headless :port 1234
答案 2 :(得分:1)
如果你在Mac上运行,你可能已经落后于boot2docker,所以这篇文章有很多帮助。这是我连接到容器的方式:
lein repl :connect $(boot2docker ip):7888