What is a container?

Photo by Noble Mitchell on Unsplash

We developers deal with containers in our day to day life but when we need explain this term to someone in very simplistic language can be a daunting task. With this article I will try to provide a simplistic definition of a container.

It all starts with the OS i.e. the operating system. An OS runs a process or multiple processes.

Now, what if I say I want to run my Application in a process and I want the process to be sandboxed i.e. The process in which my application will run will have a Process namespace, a control group in which process usage of resources can be monitored and can be limited. Any thoughts?

Answer is the Container. So we arrive at a basic definition of container now

A Process running in a sandboxed environment is a container.

For above image below are some definitions

  • OS is Linux
  • P denotes the process. P with in a square is the container.
  • CSGroups
  • Runtime — Treat it as the runtime environment as the container is the runnable instance in which process resides.

So guys, this was container for you. In the next article we will see how a container will get our application image/build that will eventually run our application on the container. Stay tuned!!!!

If this post was helpful, please click the clap 👏 button below a few times to show your support! ⬇⬇

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store