Skip to content
/ focker Public

Linux container from scratch in Go using Ubuntu 22.04 rootfs.

Notifications You must be signed in to change notification settings

biraj21/focker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Focker

Focker is a toy container runtime written in Go, designed to create and manage lightweight Linux containers.

Features

  • Namespace Isolation: Uses Linux namespaces to isolate processes, mount points, and hostname.
  • Filesystem Handling: Extracts a base Ubuntu 22.04 filesystem tarball for container use.
  • Process Management: Runs specified commands inside isolated containers.
  • Bind Mounts: Easy file and directory sharing between host and containers

Requirements

  • Go (tested with go1.21.5)
  • Linux kernel with support for namespaces (tested on Ubuntu 22.04, Pop!_OS)
  • Requires root privileges to operate due to its use of Linux namespaces.

Usage

  1. Building

    go build -o focker
  2. Running Containers

    sudo ./focker run <command> [args...]

Resources

About

Linux container from scratch in Go using Ubuntu 22.04 rootfs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages