Skip to main content

Docker Internals : Demistifying Container

PID namespaces :
  • Every running process sees only a limited set of resources. This limited resource set is identified by notion of namespace.
  • In linux kernel for PID namespaces to be enabled CONFIG_PID_NS has to be made true.
Network namespaces
  • Network support at operating system level contains network interface and routing table entries.There resources are typicall shared across entire OS.
  • This typical behaviout can be altered by notion of Network Namespaces. With particular namespce we can isolate acess to network interface and routing table created hitherto.
IPC namespace
  • Message queues, shared memory or socket communication can all be isolated with IPC namespce support provided by operating system

MNT namespace :
  • Mount is a process abstration which enables access to storage devices.Notion of mount space enables OS to have isolated filesystems accessible to process that are executing.

UTS namespace
  • UTS stands for UNIX Timesharing Sytem. It's an idea where at different instances in time we seem to have a different computing machine presented, in software front.
  • Within a UTS namespace we have different hostname. 

With PID,NET,IPC,MNT and UTS namespaces we can create an virutal environments within a single operating system. Such environments are called "CONTAINERS". 

Comments

Popular posts from this blog

Event Sourcing with CQRS.

  The way event sourcing works with CQRS is to have  part of the application that models updates as writes to an event log or Kafka topic . This is paired with an event handler that subscribes to the Kafka topic, transforms the event (as required) and writes the materialized view to a read store.

GraphQL microservices (GQLMS)

I'm curios of GraphQL !     -  GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data. GraphQL was developed internally by Facebook in 2012 before being publicly released in 2015. It should be solving a problem in querying data !     -GraphQL lets you ask for what you want in a single query, saving bandwidth and reducing waterfall requests. It also enables clients to request their own unique data specifications. A case study ?!    -https://netflixtechblog.com/beyond-rest-1b76f7c20ef6 So, This is just another database technoloy ?  -  No. GraphQL is often confused with being a database technology. This is a misconception, GraphQL is a   query language   for APIs - not databases. In that sense it’s database agnostic and can be used with any kind of database or even no database at all. Source:   howtographql.com