What is LXC and how to get started?

_________________________________________________ L X C _________________________________________________________

                           Linux Containers ( Ubuntu )

Overview

Linux Containers (LXC) are lightweight virtualization technology and provide a free software virtualization system for computers running GNU/Linux, This is accomplished through kernel level isolation, It allows one to run multiple virtual units (containers) simultaneously on the same host.

A container is a way to isolate a group of processes from the others on a running Linux system. By making use of existing functionality like the Linux kernel's new resource management and resource isolation features (Cgroups and name spaces), these processes can have their own private view of the operating system with its own process ID (PID) space, file system structure and network interfaces.

Containers share the same kernel with anything else that is running on it, but can be constrained to only use a defined amount of resources such as CPU, memory or I/O. By combining containers with other features like the Btrfs file system , it will be possible to quickly set up multiple lightweight isolated Linux instances on a single host. Therefore containers are better compared to Solaris zones or BSD jails.

enter image description here

Installation

Making LXC easier

One of the main focus for Ubuntu LTS was to make LXC dead easy to use, to achieve this. Creating a basic container and starting it on Ubuntu

 sudo apt-get install lxc
 sudo lxc-create -t ubuntu -n my-container
 sudo lxc-start -n my-container

Log In

sudo lxc-console -n my-container -t 1

This will default to using the same version and architecture as your machine, additional option are obviously available (–help will list them). Login/Password are ubuntu/ubuntu.

For Detail Host Configuration


For More About LXC

Debian

Oracle

sourceforge


LXC Web Panel

For Newbie I would recommend to use LXC Webpanel, The good part is that if you make a container through cli mode, It will show up in LXC Web Panel

  sudo apt-get install lxc debootstrap bridge-utils -y
  sudo su
  wget https://lxc-webpanel.github.com/tools/install.sh -O - | bash

Open Web Browser and Connect

                       http://your_ip_address:5000/
                Login with user admin and password admin

Overview

enter image description here

Containers Overview

enter image description here

LXC Network

enter image description here

Container Settings

enter image description here

Resource Limitation

enter image description here

User Modification ( Create, Delete Modify )

enter image description here

enter image description here


LXC

LXC which is an abbreviated way of saying LinuX Containers is an operating system-level virtualization method for running multiple isolated Linux systems which are called containers on a single control host. Since LXC provides operating system-level virtualization, it is not via a full blown virtual machine, but rather it provides it's own virtual environment that has its own process and network space.

LXC relies on the Linux kernel cgroups (Control Groups) which is developed as part of LXC which is a feature to limit, account and isolate resource usage (CPU, memory, disk I/O, etc.) of process groups. It also relies on other kinds of namespace-isolation functionality, which were developed and integrated into the mainline Linux kernel.

In Ubuntu you can find tools like Juju that are used with LXC. You can even find several tutorials:

  • How do I configure juju for local usage?

  • How do I run Juju on a local server?

  • Can I use juju with LXC in a non-local configuration?

To use LXC and it's benefits I recommend reading the Ubuntu Guide for Juju

Official Site - https://linuxcontainers.org/

Mailing lists are hosted here