Hi Ankur,

You can't access host via 'localhost' in a docker container since localhost
(127.0.0.1) is just the loopback that is in the container and not to your
host.
However since docker automatically creates the bridge for you that connects
the container and host, you can access the host by it's ip from the
container.

Try the following instead:
HOST_IP=`hostname -i`
docker run -it --rm dockerfile/mongodb bash -c "mongo --host $HOST_IP:27017"

Tim

On Sun, Oct 26, 2014 at 11:28 PM, Ankur Chauhan <an...@malloc64.com> wrote:

> Hi Tim,
>
> Thanks for the reply.
>
> Yes these are services that are running on all the nodes. Imagine it like
> this: All slave hosts have a mongos running on 27017, a kafka broker, etc
> always running. I think I just don't know how to access them from within
> the container? My perception is that accessing localhost:27017 from within
> the container doesn't connect to the hosts' localhost:27017. If that is
> possible, how do i do it? I started a mongos on 27017 but when i tried the
> command
> `docker run -it --rm dockerfile/mongodb bash -c 'mongo --host
> localhost:27017'` it was unable to connect.
>
> -- Ankur
>
> On 26 Oct 2014, at 21:12, Tim Chen <t...@mesosphere.io> wrote:
>
> Hi Ankur,
>
> Not sure I understand exactly, are these common services all running on
> the same host where you're running the container?
>
> If it's running the same host, docker container should be able to access
> any port in the host, if it's cross hosts then you have to setup your own
> bridge and use the lxc-conf option, or use something like pipework.
>
> I'm adding the lxc-conf options into the next release of mesos.
>
> Tim
>
> On Sun, Oct 26, 2014 at 6:39 PM, Ankur Chauhan <an...@malloc64.com> wrote:
>
>> Hi all,
>>
>> So I have been dabbling with docker containers in and mesos. I have the
>> following scenario and i was wondering if someone had experience with
>> something like this.
>>
>> I have a bunch of dockerized apps running and the slave hosts have some
>> common services running, something like mongos and kafka brokers etc. I was
>> wondering if there was a way to expose these services (i.e. some tcp port)
>> to the docker containers?
>>
>> Is this even a legitimate way of exposing services to apps but my main
>> intention is to avoid going over the network or something.
>>
>> -- Ankur
>
>
>
>

Reply via email to