Linux namespace demo scripts
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE
README.md
container.c
join_ns.c

README.md

namespace

Linux namespace demo scripts. It is create to demostrate linux namespace usage while writing this blog post(Chinese Version).

Usage

container.c

container.c is the main script that creates a child process running /bin/bash which aims to act like a container.

gcc container.c -o container
sudo ./container

join_ns.c

join_ns.c is a utility script that makes current process join an existing namespace.

gcc join_ns.c -o join_ns
sudo ./join_ns /proc/[PID]/ns/[FILE]

NOTE: join_ns.c is copied from setns(2) man page example mainly, and a few edits are made.

Changelog

  • v0.6: add User namespace support, ordinary user in host can run the process and become root in container
  • v0.5: add IPC namespace, isolate inter process communication
  • v0.4: add Mount namespace supprt, container have its own /proc and /tmp directory
  • v0.3: add PID namespace support
  • v0.2: create a child process with isolated UTS namespace
  • v0.1: create a simple child process that shares namespaces with parent