Skip to main content

How Linux PID namespaces work with containers

Learn how PID namespaces work and the benefits they provide.
Image
Linux container namespaces
Image by monicore from Pixabay

Linux namespaces, including PID namespaces, are one of the key technologies that enable containers to run in isolated environments. I published a video that covers an Overview of How Containers Use PID Namespaces to Provide Process Isolation. This video digs in deep to cover this complex topic with lots of demonstrations.

This video describes how containers work under the hood, and it supplements the pid_namespaces manual page (man pid_namespaces) with demonstrations and step-by-step explanations of the behavior of PID namespaces.

These topics are covered:

  • Using the lsns command to view PID namespaces
  • Displaying which PID namespace processes are running with the ps -e -o pidns,pid,args command
  • Using the unshare command to create a PID namespace
  • The process isolation that PID namespaces provide
  • Processes from a parent namespace, and why processes have different PID numbers in the parent namespace
  • Duplicate PIDs in different namespaces
  • PID mapping between different PID namespaces with the /proc/<pid>/status file and use at the NSpid attribute
  • Run a container with podman and view the PID namespace created

After watching this video, you should better understand how PID namespaces work and the benefits they provide.

[ Getting started with containers? Check out this free course. Deploying containerized applications: A technical overview. ]

Topics:   Containers  
Author’s photo

Brian Smith

Brian Smith is a product manager at Red Hat focused on RHEL automation and management.  He has been at Red Hat since 2018, previously working with public sector customers as a technical account manager (TAM).   More about me

Try Red Hat Enterprise Linux

Download it at no charge from the Red Hat Developer program.