Skip to content
/ lctn Public

A simple command line program to run a process in a linux container

License

Notifications You must be signed in to change notification settings

chenchun/lctn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e0af828 · Nov 16, 2018

History

23 Commits
Dec 6, 2017
Nov 16, 2018
Dec 28, 2017
Dec 6, 2017
Nov 16, 2018
Dec 8, 2017
Dec 26, 2017
Nov 16, 2018
Dec 26, 2017
Nov 16, 2018
Dec 6, 2017
Dec 6, 2017
Nov 16, 2018
Nov 16, 2018

Repository files navigation

Lctn

Build Status Go Report Card

lctn is a simple command line program to run a process in a linux container. It focuses on a brief golang code description of how to implement a linux container runtime.

Usage

Be sure to run as a root user since creating namespace requires SYS_ADMIN capability.

$ go get github.com/chenchun/lctn
$ cd $GOPATH/src/github.com/chenchun/lctn
$ make
github.com/chenchun/lctn
# run the following command to exec a shell inside a container
$ bin/lctn -logtostderr -root `pwd`/rootfs /bin/sh
/ # env
SHLVL=1
PATH=/sbin:/bin:/usr/sbin:/usr/bin
PWD=/
/ # ls
bin      dev      etc      hello    lib      linuxrc  proc     sbin     sys      usr      var
/ # exit
Usage of ./lctn [Flags] Command [Argument ...]:
  -alsologtostderr
    	log to standard error as well as files
  -init
    	is it the init process of container. (This flag is used by lctn internally)
  -log_backtrace_at value
    	when logging hits line file:N, emit a stack trace
  -log_dir string
    	If non-empty, write log files in this directory
  -logtostderr
    	log to standard error instead of files
  -root string
    	the root directory of container
  -stderrthreshold value
    	logs at or above this threshold go to stderr
  -v value
    	log level for V logs
  -vmodule value
    	comma-separated list of pattern=N settings for file-filtered logging

Command:
  The init command of container

Argument:
  The Arguments of container

Examples:
  lctn -logtostderr -root ./rootfs /bin/sh

Note

rootfs directory in this repository comes from https://hub.docker.com/r/chenchun/hello/. You can easily build your own rootfs from a docker image.

$ mkdir rootfs && cd rootfs
$ CID=$(docker run -d $image)
$ docker export $CID | tar xf -

About

A simple command line program to run a process in a linux container

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published