Giter Site home page Giter Site logo

yurt's Introduction

Yurt

yurt simplifies the setup and management of Linux containers on Windows. It runs LXD in a VirtualBox VM and exposes basic container management commands.

Basic Usage

Installation

Requirements

This version of Yurt works only on Windows. MacOS support is on the roadmap.

VirtualBox is required. Install from https://virtualbox.org if you do not already have it.

Only Windows 10 and VirtualBox 6 have been tested at this time.

Installation

Although we do not have a release yet, you can test out the current functionality using either pipx or pip. Python 3.6+ is required.

1. Using pipx.

Assuming you have already installed pipx:

$ pipx install git+https://github.com/ckmetto/yurt.git

2. Using pip.

With pip, a Virtual Environment is recommended. This example uses pipenv to create one:

# Create and activate a Virtual Environment.

$ mkdir try-yurt
$ cd ./try-yurt
$ pipenv --three
$ pipenv shell


# Install yurt.

$ pip install git+https://github.com/ckmetto/yurt.git

Yurt should be available on your PATH after installing using either of these options.

$ yurt --version

You will have to activate the virtual environment each time you need to use yurt in case you went with option 2.

Usage

After installation, initialize your instance with:

$ yurt init

This downloads and imports a virtual appliance file and may take a few minutes to complete. We also install a network interface on your host to allow for direct communication with containers. Accept the User Account Control prompt from VirtualBox when it comes up. Initialization will fail if VirtualBox is denied permission.

After initialization, yurt will ask if you want to boot the VM. Respond with 'yes' to start the boot process. If you choose 'no', you can start it later with:

$ yurt boot

Since this will be the first boot, yurt will install and configure LXD.

That's it! You are now ready to launch some containers. At this time we support amd64 images from https://images.linuxcontainers.org/ only. Run yurt images to view them.

$ yurt launch alpine/3.11 instance1
$ yurt launch ubuntu/18.04 instance2
$ yurt list

Name       Status    IP Address       Image
---------  --------  ---------------  -------------------
instance1  Running   192.168.132.117  Alpine/3.11 (amd64)
instance2  Running   192.168.132.92   Ubuntu/bionic (amd64)

Run yurt launch --help for more information about launching containers and yurt --help to explore other commands.

After launching, run yurt shell <instance> to proceed with configuration as you would with any other server.

$ yurt shell instance1
root@instance1:~ #

Contributing

Please create an issue if something does not work for you. Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Acknowledgement

Yurt is based on ideas, evaluation and prototyping presented by Collins Metto and is inspired by docker, vagrant, lxdock and LXD.

License

MIT

yurt's People

Contributors

cornmetto 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.