0

In much of the hype around containers I often hear statements such as:

Linux containers are very lightweight...you can potentially run thousands of them on a single server...

I understand that by definition containers share the kernel of the underlying OS and that the containers themselves (the container daemons) are lightweight but it's not as if someone is going to fire up a thousand empty containers. There'll be database processes, web servers, jobs of all types running inside the containers and these all have whatever are their typical memory/working set requirements. So how is the statement about being able to run thousands of containers a practical consideration?

10
  • You can run thousands of database processes, web servers, jobs of all types, if the server is big enough. Feb 26, 2016 at 16:59
  • 7
    Because, given the same server, you can only run far fewer traditional virtual machines. Feb 26, 2016 at 17:03
  • 3
    It reads to me like the point is that empty containers are lightweight. Why does that matter? Because if you size something based on running X many database processes and then you think, "Oh I want to put these in containers instead" your next question is how much do you have to change your sizing to accomodate X containers in addition to your existing sizing concerns. The concept that the containers themselves are lightweight means you don't have to take them into consideration for sizing except possibly when X is very large. Feb 26, 2016 at 17:04
  • 2
    The point here is that full-fledged hypervisor diminished the host memory by the amount of memory it's configured with - no matter if it's free inside the hypervisor. Furthermore, containers don't reuse memory for running a separate instance of kernel and various kernel subsystems, which use memory by themselves.
    – drookie
    Feb 26, 2016 at 17:13
  • 1
    For the life of me I can't understand why StackExchange lets people downvote without requiring a comment. I'm open to and looking for constructive feedback so I can improve the question for the benefit of the community. Instead I now feel crappy and don't have a clear sense of what I could do address the downvoter's concerns and improve the question. I'm a human being myself so I understand the downvoter is irritated by something I wrote or lacking in my question, but for goodness sake, have the guts to air your concern.
    – Robert
    Feb 26, 2016 at 18:10

1 Answer 1

1

It reads to me like the point is that empty containers are lightweight. Why does that matter? Because if you size something based on running X many database processes and then you think, "Oh I want to put these in containers instead" your next question is how much do you have to change your sizing to accomodate X containers in addition to your existing sizing concerns.

The concept that the containers themselves are lightweight means you don't have to take them into consideration for sizing except possibly when X is very large.

Compared to running separate virtual machines, Michael Hampton's comment is relevant:

Because, given the same server, you can only run far fewer traditional virtual machines.

Not the answer you're looking for? Browse other questions tagged .