Beginner Docker question here,

So I have a development environment in which I'm running a modular app, it is working using Docker Compose to run 3 containers: server, client, database.

The `docker-compose.yml` looks like this:

```
#############################
# Server
#############################
server:
  container_name: server
  domainname: server.dev
  hostname: server
  build: ./server
  working_dir: /app
  ports:
    - "3000:3000"
  volumes:
    - ./server:/app
  links:
    - database

#############################
# Client
#############################
client:
  container_name: client
  domainname: client.dev
  hostname: client
  image: php:5.6-apache
  ports:
     - "80:80"
  volumes:
   - ./client:/var/www/html

#############################
# Database
#############################
database:
  container_name: database
  domainname: database.dev
  hostname: database
  image: postgres:9.4
  restart: always
  environment:
    - POSTGRES_USER=postgres
    - POSTGRES_PASSWORD=root
    - POSTGRES_DB=dbdev
    - PG_TRUST_LOCALNET=true
  ports:
    - "5432:5432"
  volumes:
    - ./database/scripts:/docker-entrypoint-initdb.d # init scripts

```

You can see I'm assigning a .dev domainname to each one, this works fine to see one machine from another one (Docker internal network), for example here I'm pinging `server.dev` from `client.dev`'s CLI:

```
    root@client:/var/www/html# ping server.dev
    PING server.dev (127.0.53.53): 56 data bytes
    64 bytes from 127.0.53.53: icmp_seq=0 ttl=64 time=0.036 ms

```

**This works great internally, but not on my host OS network.**

For convenience, I would like to assigns domains in MY local network, not the Docker containers network so that I can for example type: client.dev on my browsers URL and load the Docker container.

Right now, I can only access if I use the Docker IP, which is dynamic:

```
client: 192.168.99.100:80
server: 192.168.99.100:3000
database: 192.168.99.100:5432

```

Is there an automated/convenient way to do this that doesn't involve me manually adding the IP to my /etc/hosts file ?

BTW I'm on OSX if that has any relevance.

Thanks!

**Edit:** I found this Github issue which seems to be related: <https://github.com/docker/docker/issues/2335>

As far as I understood, they seem to say that it is something that is not available outside of the box and they suggest external tools like: 

* <https://github.com/jpetazzo/pipework>
* <https://github.com/bnfinet/docker-dns>
* <https://github.com/gliderlabs/resolvable>

Is that correct? And if so, which one should I go for in my particular scenario?