An open and reliable container runtime
Go to file
R. Tyler Croy 00a99efb9f Merge pull request #6 from kris-nova/patch-epoll-freebsd
Patching epoll implementation on FreeBSD with linux API
2017-09-05 17:22:00 -07:00
api Getting FreeBSD Compiling 2017-09-06 06:35:07 +08:00
archutils Patching epoll implementation on FreeBSD with linux API 2017-09-06 08:20:44 +08:00
containerd Getting FreeBSD Compiling 2017-09-06 06:35:07 +08:00
containerd-shim Getting FreeBSD Compiling 2017-09-06 06:35:07 +08:00
ctr Begin supporting FreeBSD with a v0.2.9 variant of containerd 2017-09-06 03:33:37 +08:00
docs Update import path to use containerd/containerd instead of docker/docker 2017-04-13 11:58:06 -07:00
hack Update go-runc and console packages 2017-05-09 15:52:54 -07:00
integration-test Update integration tests for new spec changes 2017-04-27 14:27:21 -07:00
osutils Getting FreeBSD Compiling 2017-09-06 06:35:07 +08:00
runtime Getting FreeBSD Compiling 2017-09-06 06:35:07 +08:00
specs Begin supporting FreeBSD with a v0.2.9 variant of containerd 2017-09-06 03:33:37 +08:00
supervisor Getting FreeBSD Compiling 2017-09-06 06:35:07 +08:00
testutils Correct 'go vet' errors 2017-05-10 18:31:03 +08:00
vendor/src Getting FreeBSD Compiling 2017-09-06 06:35:07 +08:00
#Makefile# Here be dragons 2017-09-06 06:49:06 +08:00
.gitignore A few .gitignore updates (#308) 2016-08-26 09:40:41 -07:00
.travis.yml update travis runc commit 2017-05-03 14:52:25 -07:00
CONTRIBUTING.md Move sign off instructions to CONTRIBUTING.md 2016-04-06 14:14:51 -07:00
Dockerfile Update to lastest runc 2017-05-03 14:00:55 -07:00
Jenkinsfile Initial jenkinsfile (#306) 2016-08-26 10:24:30 -07:00
LICENSE.code
LICENSE.docs
MAINTAINERS Add tonis and mickael as maintainers 2016-03-21 13:16:12 -07:00
Makefile Use lazy assign bash var 2017-09-06 07:03:47 +08:00
NOTICE
README.md Update import path to use containerd/containerd instead of docker/docker 2017-04-13 11:58:06 -07:00
version.go Update version to 0.2.3 2016-08-10 08:59:47 -07:00

README.md

containerd

containerd is a daemon to control runC, built for performance and density. containerd leverages runC's advanced features such as seccomp and user namespace support as well as checkpoint and restore for cloning and live migration of containers.

Getting started

The easiest way to start using containerd is to download binaries from the releases page.

The included ctr command-line tool allows you interact with the containerd daemon:

$ sudo ctr containers start redis /containers/redis
$ sudo ctr containers list
ID                  PATH                STATUS              PROCESSES
redis               /containers/redis   running             14063

/containers/redis is the path to an OCI bundle. See the docs for more information.

Docs

All documentation is contained in the /docs directory in this repository.

Building

You will need to make sure that you have Go installed on your system and the containerd repository is cloned in your $GOPATH. You will also need to make sure that you have all the dependencies cloned as well. Currently, contributing to containerd is not for the first time devs as many dependencies are not vendored and work is being completed at a high rate.

After that just run make and the binaries for the daemon and client will be localed in the bin/ directory.

Performance

Starting 1000 containers concurrently runs at 126-140 containers per second.

Overall start times:

[containerd] 2015/12/04 15:00:54   count:        1000
[containerd] 2015/12/04 14:59:54   min:          23ms
[containerd] 2015/12/04 14:59:54   max:         355ms
[containerd] 2015/12/04 14:59:54   mean:         78ms
[containerd] 2015/12/04 14:59:54   stddev:       34ms
[containerd] 2015/12/04 14:59:54   median:       73ms
[containerd] 2015/12/04 14:59:54   75%:          91ms
[containerd] 2015/12/04 14:59:54   95%:         123ms
[containerd] 2015/12/04 14:59:54   99%:         287ms
[containerd] 2015/12/04 14:59:54   99.9%:       355ms

Roadmap

The current roadmap and milestones for alpha and beta completion are in the github issues on this repository. Please refer to these issues for what is being worked on and completed for the various stages of development.

Copyright © 2016 Docker, Inc. All rights reserved, except as follows. Code is released under the Apache 2.0 license. The README.md file, and files in the "docs" folder are licensed under the Creative Commons Attribution 4.0 International License under the terms and conditions set forth in the file "LICENSE.docs". You may obtain a duplicate copy of the same license, titled CC-BY-SA-4.0, at http://creativecommons.org/licenses/by/4.0/.