Giter Site home page Giter Site logo

lxw's Introduction

lxw

LXC wrapper with bash-completion

There are reasons why Docker is not solving all our problems ... so LXC to the rescue!

This wrapper allows you to use LXC with better cli interface IMHO. There are other wrappers in the wild, but they are:

  • not written in shell script (you have to have runtime installed or compile them),
  • not protecting me against my lack of knowledge,
  • without automatic bash completion.

The best feature of this wrapper is ... bash autocompletion!

Examples for people new to completion:

lxw <TAB>        #for all actions
lxw info <TAB>   #will list all containers
lxw kill <TAB>   #will list only running containers

Installation:

You need lxc in version 3.0 or newer installed.

$ git clone https://github.com/ernierasta/lxw && cd lxw
$ ./install

Optionally you can make alias to always run with sudo:

$ # command below will add alias to .bash_aliases if exist, otherwise to .bashrc
$ [ -f ~/.bash_aliases ] && echo -e "alias lxw='sudo lxw'\n" >> ~/.bash_aliases || echo -e "alias lxw='sudo lxw'" >> ~/.bashrc

Then open new terminal window.

Update:

$ cd lxw
$ git pull
$ ./install

Usage:

$ lxw new mycontainer
$ lxw net mycontainer # WARNING! This is experimental feature, will be improved or removed in future.
$ lxw frestart mycontainer # or restart
$ lxw attach mycontainer
$ lxw run mycontainer "ls -al"
$ lxw del mycontainer

For full help run:

$ lxw

Motivation:

I generally find multi-binary interfaces not very convenient. Especially when there is not good autocompletion.

Todo:

  • look at default lxc installation in Debian, Ubuntu, Fedora, ... only Void Linux is tested,
  • improve, fix net command,
  • better testing
  • add more commands if needed, some options if needed ...

lxw's People

Contributors

ernierasta avatar

Stargazers

Robert Walaski avatar  avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.