612343618d
* Requires containerd binaries from containerd/containerd#3799 . Metrics are unimplemented yet. * Works with crun v0.10.4, but `--security-opt seccomp=unconfined` is needed unless using master version of libseccomp ( containers/crun#156, seccomp/libseccomp#177 ) * Doesn't work with master runc yet * Resource limitations are unimplemented Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
20 lines
775 B
Go
20 lines
775 B
Go
package libcontainerd // import "github.com/docker/docker/libcontainerd"
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/containerd/containerd"
|
|
"github.com/docker/docker/libcontainerd/local"
|
|
"github.com/docker/docker/libcontainerd/remote"
|
|
libcontainerdtypes "github.com/docker/docker/libcontainerd/types"
|
|
"github.com/docker/docker/pkg/system"
|
|
)
|
|
|
|
// NewClient creates a new libcontainerd client from a containerd client
|
|
func NewClient(ctx context.Context, cli *containerd.Client, stateDir, ns string, b libcontainerdtypes.Backend, useShimV2 bool) (libcontainerdtypes.Client, error) {
|
|
if !system.ContainerdRuntimeSupported() {
|
|
// useShimV2 is ignored for windows
|
|
return local.NewClient(ctx, cli, stateDir, ns, b)
|
|
}
|
|
return remote.NewClient(ctx, cli, stateDir, ns, b, useShimV2)
|
|
}
|