Sharing namespaces within Docker

Consider that application A is an app that provides a form of clustering with an allowed designated number of slaves to join on this cluster. Applications B, C, and D would need to join this cluster in order to function properly. What I would like to do is have application A inside a container, while having applications B, C, and D setup within their own containers. Exposing ports is not an option for this. This should be done without networking functionality as there is no modifying the code for applications A, B, C, and D. I simply would like to be able to have B, C, and D be able to access the application A from within their own containers. Perhaps this is not even possible, as this is the point of Docker / containers, isolation, however, considering docker currently has the –net option to share the host networking stack I am sure this could not be to difficult implement?

  • Tag a Docker image in Google Container Registry with additional tag via command line
  • Jenkins with Docker plugin java.lang.NullPointerException: uri was not specified
  • How can I edit my image tags on docker hub?
  • Error when building a Docker container
  • How to develop applications with Docker which are in separate repositories
  • Docker public registry push fails: Repository does not exist
  • set docker container env from daemon configuration file
  • Docker and service clusters
  • Docker Container with Apache Spark in standalone cluster mode
  • Using sudo inside a docker container
  • Where are TLS certificates stored for Docker on Windows Server 2016 TP3
  • Installing Java on docker in docker image
  • One Solution collect form web for “Sharing namespaces within Docker”

    If all containers run on one machine, then --link is intended for this sort of use-case. However applications have to be able to use different ports configured by environment variables.

    There is a lot of activity on the Docker GitHub at the moment discussing clusters, groups and networking, so you should expect better native support in future.

    You could consider ‘weave’, which creates a virtual overlay network where all your containers, even in different datacenters, can talk to each other as if they were on the same Ethernet switch. Please note I work on weave.

    http://github.com/zettio/weave

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.