I'm trying to connect to an nREPL from a Docker container that is running another, linked Docker container on port 7888. Despite exposing the port with -p 7888
, linking the container with -link <first_container_name>:repl
and using the Docker-injected environment host and port variables, I am getting a "Connection refused." error.
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
Why is my connection being refused? I am able to connect other services like AMQP between Docker containers.
You have to include :host 0.0.0.0
in the lein repl
command to allow connections on a hostname/address other than 127.0.0.1:
lein repl :headless :host 0.0.0.0 :port 7888