sources:守护进程在createContainer中调用libcontainer

时间:2016-10-30 08:19:08

标签: docker

我发现守护进程通过这些代码创建了一个容器

// NewBaseContainer creates a new container with its
// basic configuration.
func NewBaseContainer(id, root string) *Container {
    return &Container{
        CommonContainer: CommonContainer{
            ID:            id,
            State:         NewState(),
            ExecCommands:  exec.NewStore(),
            Root:          root,
            MountPoints:   make(map[string]*volume.MountPoint),
            StreamConfig:  runconfig.NewStreamConfig(),
            attachContext: &attachContext{},
        },
    }
}

它看起来像创建一个实例,但只是一些配置。我不知道它在哪里调用libcontainer来创建真正的容器。

1 个答案:

答案 0 :(得分:0)

该代码实际上来自container/container.go 您必须返回docker 1.9.0才能找到实际仍在daemon/daemon_windows.go

中的代码

新守护进程is setup with a libcontainerd,以便创建实际容器(在docker 1.10或更高版本中)