38

I will appreciate if someone could introduce me to LXC and tell me how to get started with this technology? In which cases does it make sense to use, and in which should i stay away from it?

1

3 Answers 3

53

_________________________________________________ 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

3
  • 1
    I had to install sudo apt-get install debootstrap before sudo lxc-create -t ubuntu -n my-container would work (Ubuntu 14.04 LTS). May 20, 2016 at 19:58
  • what are the features of btrfs that make the container provisioning faster?
    – chad
    Aug 24, 2016 at 20:35
  • You should use an unprivileged container instead for better security (using -t download instead of -t ubuntu): stgraber.org/2014/01/17/lxc-1-0-unprivileged-containers
    – baptx
    May 19, 2020 at 11:59
11

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:

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

2

I think a better question is what do you want to do with LXC?

I would start with the community documentation and ask specific questions about specific things you do not understand.

https://help.ubuntu.com/12.04/serverguide/lxc.html

https://help.ubuntu.com/community/LXC

LXC can be used to isolate services or other processes from the host although the isolation is not always perfect.

LXC is, IMO, in rapid development and it may help if you subscribe to the mailing list.

http://lxc.sourceforge.net/index.php/about/lxc-development/

Distrowatch also did a nice overview last week

http://distrowatch.com/weekly.php?issue=20130429#qa

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .