Just using Docker for the first time so I'm probably making a rookie mistake, but here goes. I am trying to use the reactioncommerce/reaction image, and it appears to run correctly. However, I cannot seem to connect to the server from the host.
I am running docker run -p :8080 -it reaction as suggested on the Docker Hub page, then trying to access it by going to http://localhost:8080 on a browser on the host, but no connection can be made. Where am I going wrong?
I'm running on a Linux Mint host.
I think your problem will be your -p (publish) flag. Assuming your container is actually listening on port 8080 - try -p 8080:8080 which will map localhost:8080 to your container. (Well, technically it'll map 0.0.0.0:8080 which is all addresses - including external)
But I think if you're not specifying something on the left hand side, you're getting a random port number mapped - you should be able to see this in docker ps or using the docker port command.
When you run docker run -it you start it interactively - and it should start 'whatever is defined in the docker file' unless you specify otherwise. I assume this will be a service you want, but I don't know that app. You can also use the -d flag, that runs the container in the background.
I believe that this command will work:
docker run -p 127.0.0.1:8080:8080 -it reaction
I tried to do the same thing with a local webserver, but wasn't able to connect to my container using localhost until I added the address 127.0.0.1 to my -p command.
Your /etc/hosts file should have the following entry:
127.0.0.1 localhost
This will resolve the domain localhost allowing you to use it to access your server.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With