-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
advertise address != bind address #650
Comments
Why do You need consul in every container on one same DOCKER_HOST ? |
correct, even better now you can use registrator (https://github.com/progrium/registrator) so all services gonna be register in consul automaticaly (just if you need this funtionallity) |
Dude, you are kidding me! :) I love this stuff. What exiting time we are living in... |
actually to be honest - I'm using consul also in a container, but only one per docker host. |
yeah... that's my goal as well. Provisioning is reduce to setup the docker host and start the essential containers (registry, consul, registrator) and off you go. |
so you can try this one: |
Uhi, please keep posting comments. 👍 |
@sielaq "Why do You need consul in every container on one same DOCKER_HOST ?" -> multi-tenancy is one reason. |
it is not logical, you scale consul on multiple docker hosts. If you want in every container then you run into netowrk problems so you need to run https://github.com/jpetazzo/pipework to manipulate additional interface to be able to crate your private consul network that is routable between docker hosts |
Hey there,
I used etcd/skydns and loosely couple check scripts before and I love consul just for making my live easier!
Currently I am consolidating our AWS infrastructure and I got a docker server instance which runs the consul server.
Ontop of that a handfull of containers provide the services I desire (influxdb, nginx, elasticsearch, ...).
If I expose the service using consul the advertised adress is equal to the bind address, which is not accessable from other instances.
I decided to use the DOCKER_HOST adress to advertise the services, but unfortunately if I do so the clients fighting for this IP address to check their serfHealth as well.
Is it possible to overcome this issue? I learned that each agent is eager to talk to all other agents.
So maybe it's not that easy to hide containers behind a common IP address. Maybe I have to use weaver to get real IPs for all of them. :(
Or could it be solved by using multiple data centers? One global and one per docker server domain?
Any clues on how to architect this in a smart way?
The text was updated successfully, but these errors were encountered: