从另一个容器连接到运行在 Docker 容器中的无头 nREPL

12
我正在尝试从一个Docker容器连接到另一个运行在端口7888上的链接Docker容器中的nREPL。尽管使用了-p 7888暴露了端口,使用-link <first_container_name>:repl链接了容器,并使用了Docker注入的环境主机和端口变量,但我仍然收到“连接被拒绝”的错误。
以下是我如何运行第一个容器的方式:
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。
3个回答

19

为了允许在主机名/地址127.0.0.1之外的其他地方进行连接,您需要在lein repl命令中包含:host 0.0.0.0

lein repl :headless :host 0.0.0.0 :port 7888

4

您可以按以下方式包含端口号:

lein repl :headless :port 1234

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接