cfpb / grasshopper

CFPB's streaming batch geocoder
Creative Commons Zero v1.0 Universal
37 stars 13 forks source link

docker-compose not working correctly #146

Closed awolfe76 closed 9 years ago

awolfe76 commented 9 years ago

I was working on this issue and wanted to test before creating the PR. (I'll do the PR anyway because it was so minor.) After pulling down all new code from the other grasshopper projects the containers are built and started properly. I also ran sbt clean assembly first.

But, I get a 502 - Bad Gateway when making the call to the geocoder.

I can see that /status for the parser, census, and addresspoints but I can't on the geocoder.

I attempted to change around the ports in docker-compose because I thought it might have been related to this grasshopper-ui PR.

hkeeler commented 9 years ago

@awolfe76, I'm fairly certain this is a port mismatch issue. docker-compose-common.yml is exposing geocoder as 8080, but grasshopper-ui's nginx.conf is expecting it to be on 31010.

I tried to fix this, but I'm still getting a 502 error, and Nginx is reporting a "connection refused". Strange. I'll keep working at it.

awolfe76 commented 9 years ago

@hkeeler yeah, I was doing the same thing the other day and getting the same problem. Tried several different port configurations and nothing seemed to do it.

hkeeler commented 9 years ago

I know what's up, and have it fixed locally. This is a container vs. host port mismatch. When running in Compose, the containers attempt to connect on the container port, which is 8080, but Nginx is looking at host port 31010. When this is running in through Marathon, we set the servicePort to 31010, and that port gets exposed in the load balancer, and the container port never comes into play.

I'm switching the geocoder to listen on 31010, and tweaking the Compose setup as necessary. PR coming soon...

hkeeler commented 9 years ago

PR #147 is now up there. I had to do the following to get it all running.

sbt clean
sbt assembly
docker-compose build --no-cache # ui wouldn't build without --no-cache
docker-compose up -d