Reputation: 28856
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.
Upvotes: 12
Views: 6230
Reputation: 21
If you are running on a Mac, you are probably behind boot2docker, so this article helped, a lot. Here is how I connected to the container:
lein repl :connect $(boot2docker ip):7888
And thanks to: What IP do I access when using docker and boot2docker?
Upvotes: 2
Reputation: 105
You can include the port number as follows:
lein repl :headless :port 1234
Upvotes: 4
Reputation: 28856
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
Upvotes: 19