Move "create" to daemon/create.go

This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 80f3272ee9957c537271462a688a7de88aaa92c0
Component: engine
This commit is contained in:
Solomon Hykes
2014-07-31 20:36:42 +00:00
committed by Tibor Vass
parent 6c8c9d698d
commit 28fbe12f7b
4 changed files with 89 additions and 81 deletions

View File

@ -123,6 +123,9 @@ func (daemon *Daemon) Install(eng *engine.Engine) error {
if err := eng.Register("export", daemon.ContainerExport); err != nil {
return err
}
if err := eng.Register("create", daemon.ContainerCreate); err != nil {
return err
}
return nil
}
@ -403,38 +406,6 @@ func (daemon *Daemon) restore() error {
return nil
}
// Create creates a new container from the given configuration with a given name.
func (daemon *Daemon) Create(config *runconfig.Config, name string) (*Container, []string, error) {
var (
container *Container
warnings []string
)
img, err := daemon.repositories.LookupImage(config.Image)
if err != nil {
return nil, nil, err
}
if err := daemon.checkImageDepth(img); err != nil {
return nil, nil, err
}
if warnings, err = daemon.mergeAndVerifyConfig(config, img); err != nil {
return nil, nil, err
}
if container, err = daemon.newContainer(name, config, img); err != nil {
return nil, nil, err
}
if err := daemon.createRootfs(container, img); err != nil {
return nil, nil, err
}
if err := container.ToDisk(); err != nil {
return nil, nil, err
}
if err := daemon.Register(container); err != nil {
return nil, nil, err
}
return container, warnings, nil
}
func (daemon *Daemon) checkImageDepth(img *image.Image) error {
// We add 2 layers to the depth because the container's rw and
// init layer add to the restriction