There is a default cli named ctr
based on the GRPC api. This cli will allow you to create and manage containers run with containerd.
$ ctr -h NAME: ctr - High performance container daemon cli USAGE: ctr [global options] command [command options] [arguments...] VERSION: 0.1.0 commit: 54c213e8a719d734001beb2cb8f130c84cc3bd20 COMMANDS: checkpoints list all checkpoints containers interact with running containers events receive events from the containerd daemon state get a raw dump of the containerd state help, h Shows a list of commands or help for one command GLOBAL OPTIONS: --debug enable debug output in the logs --address "/run/containerd/containerd.sock" address of GRPC API --help, -h show help --version, -v print the version
$ ctr containers start -h NAME: ctr containers start - start a container USAGE: ctr containers start [command options] [arguments...] OPTIONS: --checkpoint, -c checkpoint to start the container from --attach, -a connect to the stdio of the container --label, -l [--label option --label option] set labels for the container
$ sudo ctr containers start redis /containers/redis
/containers/redis
is the path to an OCI bundle. See the bundle docs for more information.
$ sudo ctr containers ID PATH STATUS PROCESSES 1 /containers/redis running 14063 19 /containers/redis running 14100 14 /containers/redis running 14117 4 /containers/redis running 14030 16 /containers/redis running 14061 3 /containers/redis running 14024 12 /containers/redis running 14097 10 /containers/redis running 14131 18 /containers/redis running 13977 13 /containers/redis running 13979 15 /containers/redis running 13998 5 /containers/redis running 14021 9 /containers/redis running 14075 6 /containers/redis running 14107 2 /containers/redis running 14135 11 /containers/redis running 13978 17 /containers/redis running 13989 8 /containers/redis running 14053 7 /containers/redis running 14022 0 /containers/redis running 14006
$ ctr containers kill -h NAME: ctr containers kill - send a signal to a container or its processes USAGE: ctr containers kill [command options] [arguments...] OPTIONS: --pid, -p "init" pid of the process to signal within the container --signal, -s "15" signal to send to the container
$ ctr containers exec -h NAME: ctr containers exec - exec another process in an existing container USAGE: ctr containers exec [command options] [arguments...] OPTIONS: --id container id to add the process to --pid process id for the new process --attach, -a connect to the stdio of the container --cwd current working directory for the process --tty, -t create a terminal for the process --env, -e [--env option --env option] environment variables for the process --uid, -u "0" user id of the user for the process --gid, -g "0" group id of the user for the process
$ ctr containers stats -h NAME: ctr containers stats - get stats for running container USAGE: ctr containers stats [arguments...]
$ sudo ctr checkpoints redis NAME TCP UNIX SOCKETS SHELL test false false false test2 false false false
$ ctr checkpoints create -h NAME: ctr checkpoints create - create a new checkpoint for the container USAGE: ctr checkpoints create [command options] [arguments...] OPTIONS: --tcp persist open tcp connections --unix-sockets perist unix sockets --exit exit the container after the checkpoint completes successfully --shell checkpoint shell jobs
$ sudo ctr events TYPE ID PID STATUS exit redis 24761 0