package commands

import "github.com/containerd/containerd/cmd/ctr/commands"

Index

Variables

var (
	SnapshotterFlags = []cli.Flag{
		cli.StringFlag{
			Name:   "snapshotter",
			Usage:  "snapshotter name. Empty value stands for the default value.",
			EnvVar: "CONTAINERD_SNAPSHOTTER",
		},
	}

	SnapshotterLabels = cli.StringSliceFlag{
		Name:  "snapshotter-label",
		Usage: "labels added to the new snapshot for this container.",
	}

	LabelFlag = cli.StringSliceFlag{
		Name:  "label",
		Usage: "labels to attach to the image",
	}

	RegistryFlags = []cli.Flag{
		cli.BoolFlag{
			Name:  "skip-verify,k",
			Usage: "skip SSL certificate validation",
		},
		cli.BoolFlag{
			Name:  "plain-http",
			Usage: "allow connections using plain HTTP",
		},
		cli.StringFlag{
			Name:  "user,u",
			Usage: "user[:password] Registry user and password",
		},
		cli.StringFlag{
			Name:  "refresh",
			Usage: "refresh token for authorization server",
		},
		cli.StringFlag{
			Name: "hosts-dir",

			Usage: "Custom hosts configuration directory",
		},
		cli.StringFlag{
			Name:  "tlscacert",
			Usage: "path to TLS root CA",
		},
		cli.StringFlag{
			Name:  "tlscert",
			Usage: "path to TLS client certificate",
		},
		cli.StringFlag{
			Name:  "tlskey",
			Usage: "path to TLS client key",
		},
		cli.BoolFlag{
			Name:  "http-dump",
			Usage: "dump all HTTP request/responses when interacting with container registry",
		},
		cli.BoolFlag{
			Name:  "http-trace",
			Usage: "enable HTTP tracing for registry interactions",
		},
	}

	ContainerFlags = []cli.Flag{
		cli.StringFlag{
			Name:  "config,c",
			Usage: "path to the runtime-specific spec config file",
		},
		cli.StringFlag{
			Name:  "cwd",
			Usage: "specify the working directory of the process",
		},
		cli.StringSliceFlag{
			Name:  "env",
			Usage: "specify additional container environment variables (e.g. FOO=bar)",
		},
		cli.StringFlag{
			Name:  "env-file",
			Usage: "specify additional container environment variables in a file(e.g. FOO=bar, one per line)",
		},
		cli.StringSliceFlag{
			Name:  "label",
			Usage: "specify additional labels (e.g. foo=bar)",
		},
		cli.StringSliceFlag{
			Name:  "annotation",
			Usage: "specify additional OCI annotations (e.g. foo=bar)",
		},
		cli.StringSliceFlag{
			Name:  "mount",
			Usage: "specify additional container mount (e.g. type=bind,src=/tmp,dst=/host,options=rbind:ro)",
		},
		cli.BoolFlag{
			Name:  "net-host",
			Usage: "enable host networking for the container",
		},
		cli.BoolFlag{
			Name:  "privileged",
			Usage: "run privileged container",
		},
		cli.BoolFlag{
			Name:  "read-only",
			Usage: "set the containers filesystem as readonly",
		},
		cli.StringFlag{
			Name:  "runtime",
			Usage: "runtime name",
			Value: defaults.DefaultRuntime,
		},
		cli.StringFlag{
			Name:  "runtime-config-path",
			Usage: "optional runtime config path",
		},
		cli.BoolFlag{
			Name:  "tty,t",
			Usage: "allocate a TTY for the container",
		},
		cli.StringSliceFlag{
			Name:  "with-ns",
			Usage: "specify existing Linux namespaces to join at container runtime (format '<nstype>:<path>')",
		},
		cli.StringFlag{
			Name:  "pid-file",
			Usage: "file path to write the task's pid",
		},
		cli.IntSliceFlag{
			Name:  "gpus",
			Usage: "add gpus to the container",
		},
		cli.BoolFlag{
			Name:  "allow-new-privs",
			Usage: "turn off OCI spec's NoNewPrivileges feature flag",
		},
		cli.Uint64Flag{
			Name:  "memory-limit",
			Usage: "memory limit (in bytes) for the container",
		},
		cli.StringSliceFlag{
			Name:  "device",
			Usage: "file path to a device to add to the container; or a path to a directory tree of devices to add to the container",
		},
		cli.StringSliceFlag{
			Name:  "cap-add",
			Usage: "add Linux capabilities (Set capabilities with 'CAP_' prefix)",
		},
		cli.StringSliceFlag{
			Name:  "cap-drop",
			Usage: "drop Linux capabilities (Set capabilities with 'CAP_' prefix)",
		},
		cli.BoolFlag{
			Name:  "seccomp",
			Usage: "enable the default seccomp profile",
		},
		cli.StringFlag{
			Name:  "seccomp-profile",
			Usage: "file path to custom seccomp profile. seccomp must be set to true, before using seccomp-profile",
		},
		cli.StringFlag{
			Name:  "apparmor-default-profile",
			Usage: "enable AppArmor with the default profile with the specified name, e.g. \"cri-containerd.apparmor.d\"",
		},
		cli.StringFlag{
			Name:  "apparmor-profile",
			Usage: "enable AppArmor with an existing custom profile",
		},
		cli.StringFlag{
			Name:  "rdt-class",
			Usage: "" /* 135 byte string literal not displayed */,
		},
	}
)
var PushTracker = docker.NewInMemoryTracker()

PushTracker returns a new InMemoryTracker which tracks the ref status

Functions

func AnnotationArgs

func AnnotationArgs(annoStrings []string) (map[string]string, error)

AnnotationArgs returns a map of annotation key,value pairs.

func AppContext

func AppContext(context *cli.Context) (gocontext.Context, gocontext.CancelFunc)

AppContext returns the context for a command. Should only be called once per command, near the start.

This will ensure the namespace is picked up and set the timeout, if one is defined.

func ForwardAllSignals

func ForwardAllSignals(ctx gocontext.Context, task killer) chan os.Signal

ForwardAllSignals forwards signals

func GetResolver

func GetResolver(ctx gocontext.Context, clicontext *cli.Context) (remotes.Resolver, error)

GetResolver prepares the resolver from the environment and options

func IntToInt32Array

func IntToInt32Array(in []int) []int32

IntToInt32Array converts an array of int's to int32's

func LabelArgs

func LabelArgs(labelStrings []string) map[string]string

LabelArgs returns a map of label key,value pairs

func NewClient

NewClient returns a new containerd client

func NewDebugClientTrace

func NewDebugClientTrace(ctx gocontext.Context) *httptrace.ClientTrace

NewDebugClientTrace returns a Go http trace client predefined to write DNS and connection information to the log. This is used via the --http-trace flag on push and pull operations in ctr.

func ObjectWithLabelArgs

func ObjectWithLabelArgs(clicontext *cli.Context) (string, map[string]string)

ObjectWithLabelArgs returns the first arg and a LabelArgs object

func PrintAsJSON

func PrintAsJSON(x interface{})

PrintAsJSON prints input in JSON format

func StopCatch

func StopCatch(sigc chan os.Signal)

StopCatch stops and closes a channel

func WritePidFile

func WritePidFile(path string, pid int) error

WritePidFile writes the pid atomically to a file

Types

type DebugTransport

type DebugTransport struct {
	// contains filtered or unexported fields
}

DebugTransport wraps the underlying http.RoundTripper interface and dumps all requests/responses to the writer.

func (DebugTransport) RoundTrip

func (t DebugTransport) RoundTrip(req *http.Request) (*http.Response, error)

RoundTrip dumps request/responses and executes the request using the underlying transport.

Source Files

client.go commands.go commands_unix.go resolver.go signals.go signals_notlinux.go utils.go

Directories

PathSynopsis
cmd/ctr/commands/containers
cmd/ctr/commands/content
cmd/ctr/commands/deprecations
cmd/ctr/commands/events
cmd/ctr/commands/images
cmd/ctr/commands/install
cmd/ctr/commands/leases
cmd/ctr/commands/namespaces
cmd/ctr/commands/oci
cmd/ctr/commands/plugins
cmd/ctr/commands/pprof
cmd/ctr/commands/run
cmd/ctr/commands/shim
cmd/ctr/commands/snapshots
cmd/ctr/commands/tasks
cmd/ctr/commands/version
Version
v1.6.34
Published
Jul 18, 2024
Platform
js/wasm
Imports
30 packages
Last checked
28 seconds ago

Tools for package owners.