2014-02-19 18:27:57 -05:00
|
|
|
package builtins
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/dotcloud/docker/engine"
|
|
|
|
|
|
|
|
"github.com/dotcloud/docker/api"
|
2014-03-14 17:03:23 -04:00
|
|
|
"github.com/dotcloud/docker/runtime/networkdriver/lxc"
|
2014-03-11 13:40:06 -04:00
|
|
|
"github.com/dotcloud/docker/server"
|
2014-02-19 18:27:57 -05:00
|
|
|
)
|
|
|
|
|
|
|
|
func Register(eng *engine.Engine) {
|
|
|
|
daemon(eng)
|
|
|
|
remote(eng)
|
|
|
|
}
|
|
|
|
|
|
|
|
// remote: a RESTful api for cross-docker communication
|
|
|
|
func remote(eng *engine.Engine) {
|
|
|
|
eng.Register("serveapi", api.ServeApi)
|
|
|
|
}
|
|
|
|
|
|
|
|
// daemon: a default execution and storage backend for Docker on Linux,
|
|
|
|
// with the following underlying components:
|
|
|
|
//
|
|
|
|
// * Pluggable storage drivers including aufs, vfs, lvm and btrfs.
|
|
|
|
// * Pluggable execution drivers including lxc and chroot.
|
|
|
|
//
|
|
|
|
// In practice `daemon` still includes most core Docker components, including:
|
|
|
|
//
|
|
|
|
// * The reference registry client implementation
|
|
|
|
// * Image management
|
|
|
|
// * The build facility
|
|
|
|
// * Logging
|
|
|
|
//
|
|
|
|
// These components should be broken off into plugins of their own.
|
|
|
|
//
|
|
|
|
func daemon(eng *engine.Engine) {
|
2014-03-11 13:40:06 -04:00
|
|
|
eng.Register("initserver", server.InitServer)
|
2014-02-19 18:27:57 -05:00
|
|
|
eng.Register("init_networkdriver", lxc.InitDriver)
|
|
|
|
}
|