mmatros / porto

Yet another Linux container management system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Porto

Build Status

OVERVIEW

Porto is a yet another Linux container management system, developed by Yandex.

The main goal is providing single entry point for several Linux subsystems such as cgroups, namespaces, mounts, networking, etc. Porto is intended to be a base for large infrastructure projects.

Key Features

  • Nested containers - containers could be put into containers
  • Nested virtualizaion - containers could use porto service too
  • Flexible configuration - all container parameters are optional
  • Reliable service - porto upgrades without restarting containers

Container management software build on top of porto could be transparently enclosed inside porto container.

Porto provides a protobuf interface via an unix socket /run/portod.socket.

Command line tool portoctl and C++, Python and Go APIs are included.

Porto requires Linux kernel 3.18 and optionally some offstream patches.

BUILDING

$ dpkg-buildpackage -b -uc -us
$ sudo dpkg -i ../yandex-porto_*.deb

or

$ sudo apt-get install cmake protobuf-compiler libprotobuf-dev libnl-3-dev libnl-route-3-dev libncurses5-dev
$ cmake .
$ make
$ make install DESTDIR=/usr/local

RUNNING

$ sudo groupadd porto
$ sudo sudo adduser $USER porto
$ sudo portod start
$ portoctl exec hello command='echo "Hello, world!"'

DOCUMENTATION

About

Yet another Linux container management system

License:Other


Languages

Language:C++ 81.6%Language:Python 15.6%Language:Go 1.5%Language:CMake 0.5%Language:Shell 0.4%Language:C 0.2%Language:Makefile 0.1%