Go to file
Stéphane Graber 72d0e1cb2f Merge the liblxc API work by Serge Hallyn.
This turns liblxc into a public library implementing a container structure.
The container structure is meant to cover most LXC commands and can easily be
used to write bindings in other programming languages.

More information on the new functions can be found in src/lxc/lxccontainer.h
Test programs using the API can also be found in src/tests/

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2012-11-12 13:16:16 -05:00
config use syscall numbers from Linux kernel headers 2012-05-04 00:50:15 +02:00
doc Merge the liblxc API work by Serge Hallyn. 2012-11-12 13:16:16 -05:00
lxc Merge the liblxc API work by Serge Hallyn. 2012-11-12 13:16:16 -05:00
src Merge the liblxc API work by Serge Hallyn. 2012-11-12 13:16:16 -05:00
templates lxc-create: Make location of container rootfs configurable 2012-11-12 13:13:52 -05:00
.gitignore add lxc-archlinux template 2011-11-10 09:41:46 +01:00
AUTHORS Initial revision 2008-08-06 14:32:29 +00:00
autogen.sh lxc: kill libtool 2009-10-22 15:33:40 +02:00
configure.ac Merge the liblxc API work by Serge Hallyn. 2012-11-12 13:16:16 -05:00
CONTRIBUTING CONTRIBUTING: specify where one can send patches 2009-03-19 16:11:11 +01:00
COPYING Initial revision 2008-08-06 14:32:29 +00:00
INSTALL update INSTALL file 2010-05-10 11:50:09 +02:00
lxc.pc.in fixes for rpmbuild 2011-09-13 15:08:04 +02:00
lxc.spec.in Remove unneeded ksrc spec file macro 2012-10-31 17:08:13 +01:00
MAINTAINERS fix git location 2012-11-11 03:32:51 +01:00
Makefile.am Remove unneeded ksrc spec file macro 2012-10-31 17:08:13 +01:00
NEWS Initial revision 2008-08-06 14:32:29 +00:00
README Introduce support for seccomp. 2012-11-12 12:04:30 -05:00
RELEASE-NOTES Initial revision 2008-08-06 14:32:29 +00:00
runapitests.bash Merge the liblxc API work by Serge Hallyn. 2012-11-12 13:16:16 -05:00
TODO Add a TODO file 2009-02-12 14:46:54 +00:00

Please see the COPYING file for details on copying and usage.
Please refer to the INSTALL file for instructions on how to build.

What is lxc:

  The container technology is actively being pushed into the mainstream linux
  kernel. It provides the resource management through the control groups  aka
  process containers and resource isolation through the namespaces.

  The  linux  containers, lxc, aims to use these new functionnalities to pro-
  vide an userspace container object which provides full  resource  isolation
  and resource control for an applications or a system.

  The first objective of this project is to make the life easier for the ker-
  nel developers involved in the containers project and  especially  to  con-
  tinue  working  on  the  Checkpoint/Restart  new features. The lxc is small
  enough to easily manage a container with simple command lines and  complete
  enough to be used for other purposes.

Using lxc:

  Refer the lxc* man pages (generated from doc/* files)

Downloading the current source code:

  Source for the latest released version can always be downloaded from
  http://lxc.sourceforge.net/download/lxc

  You can browse the up to the minute source code and change history online.
  http://lxc.git.sourceforge.net

  For detailed build instruction refer to INSTALL and man lxc man page
  but a short command line should work:
  ./configure && make && sudo make install && sudo lxc-setcap
  preceded by ./autogen.sh if configure do not exist yet.

Getting help:

  when you find you need help, you can check out one of the two
  lxc mailing list archives and register if interested:
  https://lists.sourceforge.net/lists/listinfo/lxc-devel
  https://lists.sourceforge.net/lists/listinfo/lxc-users

Portability:

  lxc  is  still  in  development, so the command syntax and the API can
  change. The version 1.0.0 will be the frozen version.

  lxc is developed and tested on Linux since kernel mainline version 2.6.27
  (without network) and 2.6.29 with network isolation.
  is compiled with gcc, and supports i686, x86_64, ppc, ppc64, S390 archi.

AUTHOR
       Daniel Lezcano <daniel.lezcano@free.fr>

Seccomp with LXC
----------------

To restrict a container with seccomp, you must specify a profile which is
basically a whitelist of system calls it may execute.  In the container
config file, add a line like

lxc.seccomp = /var/lib/lxc/q1/seccomp.full

I created a usable (but basically worthless) seccomp.full file using

cat > seccomp.full << EOF
1
whitelist
EOF
for i in `seq 0 300`; do
	echo $i >> secomp.full
done
for i in `seq 1024 1079`; do
	echo $i >> seccomp.full
done

 -- Serge Hallyn <serge.hallyn@ubuntu.com>  Fri, 27 Jul 2012 15:47:02 +0600