Is there any way I can bind ports of two containers?

I have two containers one running 3 redis servers and another running my app. Want to expose the redis container ports onto the app containers ports so that the app can directly connect to those ports. Is there any way I can achieve this?

You can put the 2 containers(redis and your app) in the same network and they will be able to access the services exposed by the ports using service name and port. Service discovery is embedded in Docker post Docker 1.9.

Any links I can refer to? am not able to figure out how to put them in the same network. Unless you are talking about networking_mode:host?

You can look at this multi-container app(https://github.com/dockersamples/example-voting-app). Service discovery works with all drivers except the legacy bridge.