ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Small LXC Writeup

    Scheduled Pinned Locked Moved IT Discussion
    lxchow tolinuxcontainer
    1 Posts 1 Posters 1.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • stacksofplatesS
      stacksofplates
      last edited by scottalanmiller

      So I've been using LXC for some things. I figured I'd do a quick small write up. I'm using it on Ubuntu because each distro is different on how they deploy it and it's most documented with Ubuntu and seems to have the least issues.

      Start by installing lxc

      sudo apt-get install lxc lxc-templates
      

      There are a couple ways to do networking. I'm running these on my desktop so I can bridge the NIC and have addresses for each container on my subnet. If you're running on a VPS or cloud server you will most likely need to use iptables to port forward to the container.

      For now I'll just show how to use the containers themselves.

      To list containers you can use

      sudo lxc-ls --fancy
      

      It will give you this output

      NAME    STATE    IPV4        IPV6  AUTOSTART  
      --------------------------------------------  
      d1      RUNNING  10.0.0.30   -     NO
      xo      RUNNING  10.0.0.188  -     NO
      

      Next create a new container. I'll use Ubuntu trusty 64 bit.

      sudo lxc-create -t download -n cont1 -- -d ubuntu -r trusty -a amd64
      

      That will download the ubuntu trusty 64 bit template, name the container cont1, and create the file system. It takes a little longer the first time since it needs to download everything.

      Once it's finished just type:

      sudo lxc-start -n cont1 -d
      

      If you don't run it as a daemon, you will be launched into the container and then have to shut it down to get out. This way it runs in the background.

      Next you will need to attach to the container and change the default user's (ubuntu) password.

      sudo lxc-attach -n cont1
      
      passwd ubuntu
      
      exit
      

      To attach to the container with a console just type:

      sudo lxc-console -n cont1
      

      And to leave the console use ctrl+a q

      If you want to start up a handful at once here's a quick one liner:

      for i in {1..5}; do  (sudo lxc-create -t download -n cont$i -- -d ubuntu -r trusty -a amd64 && echo "Container cont$i is finished..."); done
      

      You can run unprivileged containers where normal non-sudo users can create the container and it's limited to their space, but it's some more work.

      1 Reply Last reply Reply Quote 4
      • 1 / 1
      • First post
        Last post