All Projects → lxc → Go Lxc

lxc / Go Lxc

Licence: other
Go bindings for liblxc

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Go Lxc

Lxc
LXC - Linux Containers
Stars: ✭ 3,583 (+966.37%)
Mutual labels:  containers, lxc
Amicontained
Container introspection tool. Find out what container runtime is being used as well as features available.
Stars: ✭ 638 (+89.88%)
Mutual labels:  containers, lxc
Vas Quod
🚡 Minimal linux container runtime.
Stars: ✭ 404 (+20.24%)
Mutual labels:  containers, lxc
Lxdock
Build and orchestrate your development environments with LXD - a.k.a. Vagrant is Too Heavy™
Stars: ✭ 350 (+4.17%)
Mutual labels:  containers, lxc
Ruby Lxc
ruby bindings for liblxc
Stars: ✭ 115 (-65.77%)
Mutual labels:  containers, lxc
Lxdui
LXDUI is a web UI for the native Linux container technology LXD/LXC
Stars: ✭ 443 (+31.85%)
Mutual labels:  containers, lxc
Lxcfs
FUSE filesystem for LXC
Stars: ✭ 602 (+79.17%)
Mutual labels:  containers, lxc
Lxc Pkg Ubuntu
LXC Ubuntu packaging
Stars: ✭ 11 (-96.73%)
Mutual labels:  containers, lxc
Lxc Ci
LXC continuous integration and build scripts
Stars: ✭ 110 (-67.26%)
Mutual labels:  containers, lxc
Addon Lxdone
Allows OpenNebula to manage Linux Containers via LXD
Stars: ✭ 36 (-89.29%)
Mutual labels:  containers, lxc
Lxd
Powerful system container and virtual machine manager
Stars: ✭ 3,115 (+827.08%)
Mutual labels:  containers, lxc
Distrobuilder
System container image builder for LXC and LXD
Stars: ✭ 211 (-37.2%)
Mutual labels:  containers, lxc
Lxdmosaic
Web interface to manage multiple instance of lxd
Stars: ✭ 270 (-19.64%)
Mutual labels:  containers, lxc
Crossplane
Your Universal Control Plane
Stars: ✭ 4,414 (+1213.69%)
Mutual labels:  containers
Img
Standalone, daemon-less, unprivileged Dockerfile and OCI compatible container image builder.
Stars: ✭ 3,512 (+945.24%)
Mutual labels:  containers
Kedge
Kedge : Simple, Concise & Declarative Kubernetes Applications
Stars: ✭ 300 (-10.71%)
Mutual labels:  containers
Cntr
A container debugging tool based on FUSE
Stars: ✭ 295 (-12.2%)
Mutual labels:  lxc
Containerops
DevOps Orchestration Platform
Stars: ✭ 317 (-5.65%)
Mutual labels:  containers
Terraform Ecs Fargate
A Terraform template used for provisioning web application stacks on AWS ECS Fargate
Stars: ✭ 293 (-12.8%)
Mutual labels:  containers
Rancher
Complete container management platform
Stars: ✭ 18,191 (+5313.99%)
Mutual labels:  containers

go-lxc

Go Bindings for LXC (Linux Containers)

LXC is the well-known and heavily tested low-level Linux container runtime. It is in active development since 2008 and has proven itself in critical production environments world-wide. Some of its core contributors are the same people that helped to implement various well-known containerization features inside the Linux kernel.

This package implements Go bindings for the LXC C API (liblxc).

Status

Type Service Status
CI (Linux) Travis Build Status
Go documentation Godoc GoDoc
Static analysis GoReport Go Report Card

Requirements

This package requires LXC >= 1.0.0 and its development package and their dependencies to be installed. Additionally, go-lxc requires Golang 1.10 or later to work. Following command should install required dependencies on Ubuntu 18.10:

sudo apt update
sudo apt install git golang gcc make liblxc1 liblxc-dev lxc-utils pkg-config

Installing

To install it, run:

go get gopkg.in/lxc/go-lxc.v2

Trying

To try examples, run:

# cd ~/go/src/gopkg.in/lxc/go-lxc.v2/examples/

# make
==> Running go vet 
==> Building ...
...

# create/create
2018/12/27 22:39:27 Creating container...

# start/start 
2018/12/27 22:39:39 Starting the container...
2018/12/27 22:39:39 Waiting container to startup networking...

# attach/attach 
2018/12/27 22:39:46 AttachShell
hostname
rubik
exit
exit
2018/12/27 22:39:52 RunCommand
uid=0(root) gid=0(root) groups=0(root)

# stop/stop 
2018/12/27 22:39:54 Stopping the container...

# destroy/destroy 
2018/12/27 22:39:57 Destroying container...

Stability

The package API will remain stable as described in gopkg.in.

Backwards Compatibility

LXC has always focused on strong backwards compatibility. In fact, the API hasn't been broken from release 1.0.0 onwards. Main LXC is currently at version 2.*.*.

Examples

See the examples directory for some.

Bug reports

Bug reports can be filed at: https://github.com/lxc/go-lxc/issues/new

Contributing

Fixes and new features are greatly appreciated. We'd love to see go-lxc improve. To contribute to go-lxc;

  • Fork the repository
  • Modify your fork
  • Ensure your fork passes all tests
  • Send a pull request
    • Bonus points if the pull request includes what you changed, why you changed it, and tests attached.

Getting help

When you find you need help, the LXC projects provides you with several options.

Discuss Forum

We maintain an discuss forum at

where you can get support.

IRC

You can find support by joining #lxcontainers on Freenode.

Mailing Lists

You can check out one of the two LXC mailing list archives and register if interested:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].