Everything inside one docker container or specialized containers

I have been reading about Docker for a long time and tried few examples. While going through blogs, I didn’t find any unanimous answer as whether a product having multiple components like JEE deployables, database, webserver etc should be deployed, in one single container or on different containers. Can someone please provide detailed answer in terms of

  1. Manageability
  2. Complexity
  3. Risk (like data loss, security etc.)
  4. Any other point, welcome

Also will it be worth going Kubernetes route or Docker is still sufficient?

  • How do I connect a docker container to ssh forward Xserver on the host?
  • Difference between production and development docker using
  • Kuberenets Web UI (Dashboard) missing graphs
  • How to push a docker image with README file to docker hub?
  • Communicating between docker containers
  • Logging from one docker container to another
  • Dockerized PHP Application Architecture Best Practices
  • Want to run docker in windows server 2016 on azure
  • How to flatten a Docker image?
  • Tutum Redeploy trigger doesn't rebuild from image
  • docker lvm thin pool cleanup
  • Connecting to MySql on Docker
  • One Solution collect form web for “Everything inside one docker container or specialized containers”

    There are alternative views (that may work well depending on your use case) but the official docker stance is one process per container. From my experience, you’ll be able to fit into the docker ecosystem and re-use things more effectively if you go with the grain on that one. However, there are alternative solutions (again, that may work well depending on your use case) such as passenger-docker.

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