项目作者: lxc

项目描述 :
Go bindings for liblxc
高级语言: Go
项目地址: git://github.com/lxc/go-lxc.git
创建时间: 2014-02-18T22:58:36Z
项目社区:https://github.com/lxc/go-lxc

开源协议:Other

下载


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) Github CI tests
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:

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

Installing

To install it, run:

  1. go get github.com/lxc/go-lxc

Trying

To try examples, run:

  1. # cd ~/go/src/github.com/lxc/go-lxc/examples/
  2. # make
  3. ==> Running go vet
  4. ==> Building ...
  5. ...
  6. # create/create
  7. 2018/12/27 22:39:27 Creating container...
  8. # start/start
  9. 2018/12/27 22:39:39 Starting the container...
  10. 2018/12/27 22:39:39 Waiting container to startup networking...
  11. # attach/attach
  12. 2018/12/27 22:39:46 AttachShell
  13. root@rubik:/# hostname
  14. rubik
  15. root@rubik:/# exit
  16. exit
  17. 2018/12/27 22:39:52 RunCommand
  18. uid=0(root) gid=0(root) groups=0(root)
  19. # stop/stop
  20. 2018/12/27 22:39:54 Stopping the container...
  21. # destroy/destroy
  22. 2018/12/27 22:39:57 Destroying container...

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: