Skip to main content

My LXC crash course:

Remember chroot? Container is far beyond a chrooted environment. Think of it as an isolated subsystem in a host OS, which allows running processes in complete isolation - even the hardware visible to the container is virtualized. Containers typically take much less resources than a full virtual machine because containers leverage features in host OS to facilitate isolation.

LXC is one such user interface that leverages containment features in Linux kernel and allows creation and management of containers. Each container running on the same Linux host can run a separate linux distribution. Amazing isn't it?

Containers come in very handy to create isolated environments which do not take up as much resources as running separate virtual machines do. You can use containers to host multiple web services in isolation on a single system. Another good use could be to create multiple development environments.

To create a container in LXC, you first need to have LXC installed on your Linux distribution. Once you have LXC installed, you can type this command to create a container:
lxc-create -t download -n my-container
The download template will list available distributions to choose from. Shortly after you make a choice, your container will be ready to run your selected distribution.

To start your container:
lxc-start -n my-container -d
You can check its status by a couple methods:
lxc-info -n my-container
lxc-ls -f
To drop to shell inside your container environment:
lxc-attach -n my-container
To stop the container:
lxc-stop -n my-container
To remove the container:
lxc-destroy -n my-container
Containers are fun. If you have not yet played around with containers, you should.
Disclaimer: If you follow the information here, there is no warranty, I am not liable if it deletes your data, gets you hacked, burns your house down or anything else. If you follow the information contained here you do so entirely at your own risk.  My views and opinions are my own and not necessarily represent the views of my current or former employers.

© Raheel Hameed and www.raheelhameed.com, 2017. Unauthorized use and/or duplication of this material without express and written permission from this site’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to author and this website with appropriate and specific direction to the original content.

Comments

Popular posts from this blog

My MongoDB crash course

MongoDB is a NoSQL database that stores data in flexible JSON like documents. Unlike relational databases, MongoDB does not require a fixed schema. This makes it very convenient for applications where structure may evolve over time. First install MongoDB. On Ubuntu you typically add the official MongoDB repository and then install: sudo apt install mongodb Once installed, check service status: sudo systemctl status mongodb If it is not running, start it: sudo systemctl start mongodb To access MongoDB shell: mongo You should now be inside the MongoDB interactive shell. To show databases: show dbs To create or switch to a database: use mydb MongoDB creates the database automatically when you first store data. To insert a document: db.users.insertOne({ name: "John", email: "[john@example.com](mailto:john@example.com)", age: 30 }) To find documents: db.users.find() To pretty print results: db.users.find().pretty() To update a docum...

My HTOP crash course

Htop is an interactive process viewer. Install: sudo apt install htop Run: htop You will see CPU usage, memory usage, and running processes. Use arrow keys to navigate. Press F9 to kill a process. Press F10 to exit. Htop is easier to read than traditional top command. Monitoring your system regularly helps prevent surprises. Disclaimer: If you follow the information here, there is no warranty , I am not liable if it deletes your data, gets you hacked, burns your house down or anything else. If you follow the information contained here you do so entirely at your own risk . My views and opinions are my own and not necessarily represent the views of my employer. © Raheel Hameed and www.raheelhameed.com, 2017. Unauthorized use and/or duplication of this material without express and written permission from this site’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to author and this ...

My Makefile crash course

Make automates build processes. Create a file named Makefile: all: gcc main.c -o app To run: make To clean build artifacts: clean: rm -f app Run: make clean Make uses tabs before commands. Spaces will not work. Make is useful even for small projects. Disclaimer: If you follow the information here, there is no warranty , I am not liable if it deletes your data, gets you hacked, burns your house down or anything else. If you follow the information contained here you do so entirely at your own risk . My views and opinions are my own and not necessarily represent the views of my employer. © Raheel Hameed and www.raheelhameed.com, 2017. Unauthorized use and/or duplication of this material without express and written permission from this site’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to author and this website with appropriate and specific direction to the original content.