本文整理匯總了Golang中github.com/docker/docker/graph.SetupInitLayer函數的典型用法代碼示例。如果您正苦於以下問題:Golang SetupInitLayer函數的具體用法?Golang SetupInitLayer怎麽用?Golang SetupInitLayer使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了SetupInitLayer函數的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: createRootfs
func (daemon *Daemon) createRootfs(container *Container) error {
// Step 1: create the container directory.
// This doubles as a barrier to avoid race conditions.
if err := os.Mkdir(container.root, 0700); err != nil {
return err
}
initID := fmt.Sprintf("%s-init", container.ID)
if err := daemon.driver.Create(initID, container.ImageID); err != nil {
return err
}
initPath, err := daemon.driver.Get(initID, "")
if err != nil {
return err
}
defer daemon.driver.Put(initID)
if err := graph.SetupInitLayer(initPath); err != nil {
return err
}
if err := daemon.driver.Create(container.ID, initID); err != nil {
return err
}
return nil
}
示例2: createTmpRootfs
func (daemon *Daemon) createTmpRootfs(container *Container) error {
if _, err := os.Stat(container.root); err != nil && os.IsNotExist(err) {
return err
}
commitID := fmt.Sprintf("%s-commit", container.ID)
if err := daemon.driver.Create(commitID, container.Image); err != nil {
return err
}
commitPath, err := daemon.driver.Get(commitID, "")
if err != nil {
return err
}
defer daemon.driver.Put(commitID)
if err := graph.SetupInitLayer(commitPath); err != nil {
return err
}
return nil
}