CentOS 7 Linux Containers Quickstart
Created on: 2016-02-06 05:00:00 -0500
Categories: Linux Containers
Linux containers provide an easy way to quickly deploy a series of Linux servers. This can help us to test various network configurations, network application development using distributed systems and test security or provisioning policies on a test network before production deployment. In my early years of SysAdmining, we often had to find a series of scrap PC computers and build physical data centers to test out various configuration. With the advancements of virtualization this has made the process easier. However, there are still some issues namely cost of acquiring licenses to run certain VM packages or your desktop computer may not have enough resources to run numerous nodes using VirtualBox. Linux containers provide a lightweight approach to creating a virtualized test environment to test out various data center configuration.
This guide is intended to quickly get you up and running using LXC on your CentOS 7 desktop and will be used as the base for future articles relating to SDN and cloud technologies.
First, we have to install the epel-release package to get access to the lxc packages.
Now add the following lxc packages. Although we won’t be using some of these packages now they will be utilized in future posts.
Start the lxc and libvirtd services. Libvirtd will be used to help set up our bridge to allow our linux containers to access the network.
We will now create our first Linux container. It will be using the CentOS template and release number 7. The name for this container will be ‘c7’
After executing the command there will be some yum packaging operations taking place. Once it has finished you will be instructed that the root password is stored in ‘/var/lib/lxc/c7/tmp_root_pass’ and if you forget your password it can be reset by issuing:
Note: it is quicker to change the password now so just enter the chroot command
Test
Once the startup has finished log in using the new root password. At this time you can create a normal user account.
To get the IP address of the container enter:
From there you can access the container from SSH.
Note: There was some issue with the CentOS container being slow. To solve this I came across a solution from this webpage <a href=”https://lemarchand.io/run-centos-7-lxc-container-inside-debian-jessie/ . Basically, need to add the following line to /var/lib/lxc/c7/config
The problem has since stop and everything seems to be running OK now.
Normally, you could start the lxc with a -d flag to put the lxc into the background to avoid killing the container. For now you will need a second shell to kill this current VM. This can be done with the following command:
Or if you are logged in through the console
Start the VM again using the -d flag
Then connect a console to it:
You can also test out SSH connection to the container. In the event you have forgotten the IP address of the container you can always run the lxc-ls command which list all the containers on your current computer.
This wraps up our quick introduction into Linux containers using LXC. In later posts I will demonstrate some applications of SDN to Linux containers and other cloud computing.