Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yandex/porto
Yet another Linux container management system
https://github.com/yandex/porto
Last synced: 3 months ago
JSON representation
Yet another Linux container management system
- Host: GitHub
- URL: https://github.com/yandex/porto
- Owner: yandex
- License: other
- Archived: true
- Created: 2015-08-27T07:39:46.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-01-20T09:43:15.000Z (almost 2 years ago)
- Last Synced: 2024-04-26T08:34:23.228Z (7 months ago)
- Language: C++
- Homepage:
- Size: 56.7 MB
- Stars: 393
- Watchers: 43
- Forks: 53
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-linux-containers - porto
README
Porto
=====[![Build Status](https://travis-ci.org/yandex/porto.svg?branch=master)](https://travis-ci.org/yandex/porto)
# 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 containersContainer 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
$ sudo dpkg -i ../yandex-porto_*.deb
```
or
```
$ sudo apt-get install g++ cmake protobuf-compiler libprotobuf-dev libnl-3-dev libnl-route-3-dev libnl-idiag-3-dev libncurses5-dev pandoc
$ 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 #
* [Porto manpage](porto.md)