Code Monkey home page Code Monkey logo

containerd's Introduction

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 and license

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/.

containerd's People

Contributors

allencloud avatar amitkris avatar bfirsh avatar boucher avatar bufdev avatar calavera avatar chanezon avatar coolljt0725 avatar crosbymichael avatar cyphar avatar datawolf avatar dlespiau avatar estesp avatar hopkings2008 avatar hqhq avatar hukeping avatar liubin avatar lk4d4 avatar marcosnils avatar mikedanese avatar mikedougherty avatar mlaventure avatar mrunalp avatar rakyll avatar runcom avatar rutsky avatar thajeztah avatar tianon avatar tonistiigi avatar weizhang555 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

containerd's Issues

Epoll fails sporadically on aarch64

Epoll fails sporadically on aarch64 specially when the target CPU is loaded
As a result the user sees an error="Failed to wait epoll" error and containerd process dies.
It can be respawned but in the meantime all the containers are unreachable with an:
rpc error: code = 14 desc = grpc: the connection is unavailable\r\n"

The issue is observed and triaged in docker-1.13.1 but it present in all the branches

Starting containers using ctr failing with parse error

I am trying to run containers on containerd and runc. But facing the following issue

I have config.json and rootfs in the running directory.

Versions of the tools:

$ sudo ctr containers start .
ctr: filters: parse error: [ >|.|< ]: expected field or quoted: invalid argument: invalid argument
$ sudo ctr -v
ctr github.com/containerd/containerd v1.0.0-beta.0

$ containerd -v
containerd github.com/containerd/containerd v1.0.0-beta.0
$ runc -v
runc version 1.0.0-rc4
spec: 1.0.0

Is this project deprecated? Please add a notice

Hi

I stumbled in this project looking for a container-d cli tool, since the last activity is from 4 years ago I will assume the project is dead. The link to the "Releases" (pointing to the docker container-d repo) and the project web page are giving 404

It will be possible to add a deprecation notice and point user to the right place?, or archive the repo so it can be easily notice this is not the right project?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.