Grouping all the containers on a host: advantages or not?

There is something that still doesn’t convince me in using Let suppose to deploy a MongoDb replica set on 3 three different containers installed on a Linux VM running on AWS. If for any reasons the VM goes down then all the mongo instances belonging to the replica set goes down as well. Then where is the huge advantages of having different containers even 200 running on the same host machine? In that way I can’t never reach fault tolerance. Maybe there is something I’m not considering. Yes I understand fast deploy and fast configuration are two of the main reasons that make really fantastic for the developers and sys admins

  • s3 mounted inside the container. how to expose it to the host?
  • What's the container of a base docker image?
  • Passing arguments to docker swarm containers
  • Creating multiple Docker container
  • Docker - see where things are installed, with dokku
  • IBM Bluemix Containers : cf ic stats not working
  • Docker cannot mount volume over existing file
  • Docker compose not finding my index.js
  • docker on OSX slow volumes
  • Locale.Error with building python based docker
  • Is there any way I can automate configuring Nexus 3?
  • Files in the folder don't appear on the host after mounting to container
  • One Solution collect form web for “Grouping all the containers on a host: advantages or not?”

    In general I would argue that containerization is not the same thing as virtualisation. As well as the simple fact that there is no real virtualisation (kernels are shared), it is a very different approach. Container based development advocates one service per container and often follows a microservice or 12 factor app style where state is carefully managed.

    There is no reason why containers can’t deployed across separate VMs or servers, although this does require a bit more work wrt networking. Containers incur significantly less overhead, both in terms of physical (disk) size and CPU. They boot much faster than VMs, meaning deployments can scale up and down extremely quickly.

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