Difference between revisions of "LXC"

From CRIU
Jump to: navigation, search
(Created page with "=Requirements= * A console should be disabled (lxc.console = none) * udev should not run in CT ($ mv /sbin/udevd{,.bcp}) =Example= $ cat ~/test-lxc.conf lxc.console=none lxc....")
 
Line 1: Line 1:
=Requirements=
+
=Prepare a Linux Container (CT)=
 +
==Requirements==
 
* A console should be disabled (lxc.console = none)
 
* A console should be disabled (lxc.console = none)
 
* udev should not run in CT ($ mv /sbin/udevd{,.bcp})
 
* udev should not run in CT ($ mv /sbin/udevd{,.bcp})
=Example=
+
 
 +
== Prepare a host environment ==
 +
 
 +
* Mount cgroupfs
 +
$ mount -t cgroup c /cgroup
 +
* Create a network bridge
 +
# cat /etc/sysconfig/network-scripts/ifcfg-br0
 +
DEVICE=br0
 +
TYPE=Bridge
 +
BOOTPROTO=dhcp
 +
ONBOOT=yes
 +
DELAY=5
 +
NM_CONTROLLED=n
 +
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
 +
DEVICE="eth0"
 +
NM_CONTROLLED="no"
 +
ONBOOT="yes"
 +
BRIDGE=br0
 +
==Create CT==
 +
* Download an OpenVZ template and extract it.
 +
curl http://download.openvz.org/template/precreated/centos-6-x86_64.tar.gz | tar -xz -C test-lxc
 +
 
 +
* Create a config files
 
  $ cat ~/test-lxc.conf  
 
  $ cat ~/test-lxc.conf  
 
  lxc.console=none
 
  lxc.console=none
Line 19: Line 42:
 
  none /root/test-lxc-root/dev/shm tmpfs  defaults 0 0
 
  none /root/test-lxc-root/dev/shm tmpfs  defaults 0 0
  
 +
* Register CT
 
  $ lxc-create -n test-lxc -f test-lxc.conf
 
  $ lxc-create -n test-lxc -f test-lxc.conf
$ mount -t cgroup c /cgroup
+
 
 +
* Start CT
 
  $ mount --bind test-lxc test-lxc-root/
 
  $ mount --bind test-lxc test-lxc-root/
 
  $ lxc-start -n test-lxc
 
  $ lxc-start -n test-lxc

Revision as of 08:42, 18 September 2012

Prepare a Linux Container (CT)

Requirements

  • A console should be disabled (lxc.console = none)
  • udev should not run in CT ($ mv /sbin/udevd{,.bcp})

Prepare a host environment

  • Mount cgroupfs
$ mount -t cgroup c /cgroup
  • Create a network bridge
# cat /etc/sysconfig/network-scripts/ifcfg-br0 
DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
DELAY=5
NM_CONTROLLED=n
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
NM_CONTROLLED="no"
ONBOOT="yes"
BRIDGE=br0

Create CT

  • Download an OpenVZ template and extract it.
curl http://download.openvz.org/template/precreated/centos-6-x86_64.tar.gz | tar -xz -C test-lxc
  • Create a config files
$ cat ~/test-lxc.conf 
lxc.console=none
lxc.utsname = test-lxc
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.mount = /root/test-lxc/etc/fstab
lxc.rootfs = /root/test-lxc-root/
$ cat /root/test-lxc/etc/fstab
none /root/test-lxc-root/dev/pts devpts defaults 0 0
none /root/test-lxc-root/proc    proc   defaults 0 0
none /root/test-lxc-root/sys     sysfs  defaults 0 0
none /root/test-lxc-root/dev/shm tmpfs  defaults 0 0
  • Register CT
$ lxc-create -n test-lxc -f test-lxc.conf
  • Start CT
$ mount --bind test-lxc test-lxc-root/
$ lxc-start -n test-lxc