Hi, I have to services that must speak together, mostly using OAUTH, but also through normal HTTP calls.
This, I believe, is the relevant bit:
directory:
build: ./directory
command: bundle exec puma -C config/puma.rb
ports:
- 2120:3000
environment:
- RAILS_LOG_TO_STDOUT=1
- SPEC_URL=http://localhost:2121
- TENDER_URL=http://localhost:2121
- TENDER_SERVICE=http://tender:2121
tender:
build: ./tender
command: bundle exec puma -C config/puma.rb
ports:
- 2121:3000
environment:
- RAILS_LOG_TO_STDOUT=1
- DIRECTORY_URL=http://localhost:2120
- SPEC_URL=http://localhost:2121
- TENDER_URL=http://localhost:2121
You can see my first “problem”, which maybe is not a problem at all, but still I wanted if possible some suggestions: OAUTH works by redirecting the browser, which means localhost, HTTP calls between services are through docker, hence the http://tender:2121
It’s really the same service in the same container, the only thing that changes is the context. Is there a way to improve this?
And, it doesn’t really work, I make an http request to TENDER_SERVICE and it crashes with:
Errno::ECONNREFUSED (Failed to open TCP connection to tender:2121 (Connection refused - connect(2) for “tender” port 2121))
How can I fix this? All services are running apparently correctly, and I can open with my browser localhost:2121.
TIA,
ngw