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

ASCII to Decimal conversion

#include "msp430.h"                     ; #define controlled include file         NAME    main                    ; module name         PUBLIC  main                    ; make the main label vissible                                         ; outside this module         ORG     0FFFEh         DC16    init                    ; set reset vector to 'init' label         RSEG    CSTACK                  ; pre-declaration of segment         RSEG    CODE      ...

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.