Getting Started
Daemon options
$ containerd -h
NAME:
containerd - High performance container daemon
USAGE:
containerd [global options] command [command options] [arguments...]
VERSION:
0.0.4
AUTHOR(S):
@crosbymichael <crosbymichael@gmail.com>
COMMANDS:
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--id "deathstar" unique containerd id to identify the instance
--debug enable debug output in the logs
--state-dir "/run/containerd" runtime state directory
-c, --concurrency "10" set the concurrency level for tasks
--metrics-interval "1m0s" interval for flushing metrics to the store
--listen, -l "/run/containerd/containerd.sock" Address on which GRPC API will listen
--oom-notify enable oom notifications for containers
--help, -h show help
--version, -v print the version
GRPC API
The API for containerd is with GRPC over a unix socket located at the default location of /run/containerd/containerd.sock
.
At this time please refer to the proto definition for the API methods and types.
There is a Go implementation and types checked into this repository but alternate language implementations can be created using the grpc and protoc toolchain.
containerd CLI
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.
NAME:
ctr - High performance conatiner daemon controller
USAGE:
ctr [global options] command [command options] [arguments...]
VERSION:
0.0.4
AUTHOR(S):
@crosbymichael <crosbymichael@gmail.com>
COMMANDS:
checkpoints list all checkpoints
containers interact with running containers
events receive events from the containerd daemon
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
Listing containers
$ sudo ctr containers
ID PATH STATUS PID1
1 /containers/redis running 14063
19 /containers/redis running 14100
Starting a container
$ ctr containers start -h
NAME:
start - start a container
USAGE:
command start [command options] [arguments...]
OPTIONS:
--checkpoint, -c checkpoint to start the container from
--attach, -a connect to the stdio of the container
$ sudo ctr containers start redis /containers/redis
Kill a container’s process
$ ctr containers kill -h
NAME:
kill - send a signal to a container or it's processes
USAGE:
command kill [command options] [arguments...]
OPTIONS:
--pid, -p "0" pid of the process to signal within the container
--signal, -s "15" signal to send to the container
Exec another process into a container
$ ctr containers exec -h
NAME:
exec - exec another process in an existing container
USAGE:
command exec [command options] [arguments...]
OPTIONS:
--id container id to add the process to
--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
Stats for a container
$ ctr containers stats -h
NAME:
stats - get stats for running container
USAGE:
command stats [arguments...]
List checkpoints
$ sudo ctr checkpoints redis
NAME TCP UNIX SOCKETS SHELL
test false false false
test2 false false false
Create a new checkpoint
$ ctr checkpoints create -h
NAME:
create - create a new checkpoint for the container
USAGE:
command 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
Get events
$ sudo ctr events
TYPE ID PID STATUS
exit redis 24761 0