container

package
v0.4.0-rc6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2020 License: Apache-2.0 Imports: 25 Imported by: 0

README

Container module

A Zbus service to start, stop and inspect containers. The service provides the interface defined here

Dependency

The module depends on the flister module to mount the container rootfs

Example usage

package main

import (
	"github.com/threefoldtech/zbus"
	"github.com/threefoldtech/zos/pkg"
	"github.com/threefoldtech/zos/pkg/stubs"
)

func main() {
	client, err := zbus.NewRedisClient("tcp://localhost:6379")
	if err != nil {
		panic(client)
	}

	containerd := stubs.NewContainerModuleStub(client)
	namespace := "example"

	// make sure u have a network namespace ready using ip
	// sudo ip netns add mynetns

	info := pkg.Container{
		Name: "test",
		FList: "https://hub.grid.tf/thabet/redis.flist",
		Env: []string{},
		Network: pkg.NetworkInfo{Namespace: "mynetns"},
		Mounts: nil,
		Entrypoint: "redis-server",
	}

	id, err := containerd.Run(namespace, info)

	if err != nil {
		panic(err)
	}

	// DO WORK WITH CONTAINER ...

	if err = containerd.Delete(namespace, id); err != nil {
		panic(err)
	}

}

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrEmptyRootFS is returned when RootFS field is empty when trying to create a container
	ErrEmptyRootFS = errors.New("RootFS of the container creation data cannot be empty")
)

Functions

func New

func New(root string, containerd string) pkg.ContainerModule

New return an new pkg.ContainerModule

func WithCPUCount

func WithCPUCount(cru uint) oci.SpecOpts

WithCPUCount configure the CPU cgroup to limit the amount of CPU used by the container

func WithMemoryLimit

func WithMemoryLimit(limit uint64) oci.SpecOpts

WithMemoryLimit sets the `Linux.LinuxResources.Memory.Limit` section to the `limit` specified if the `Linux` section is not `nil`. Additionally sets the `Windows.WindowsResources.Memory.Limit` section if the `Windows` section is not `nil`.

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL