1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Merge pull request #9089 from cpuguy83/8942_create_volumes_on_create

Initialize volumes when container is created
This commit is contained in:
Jessie Frazelle 2014-12-03 15:42:09 -08:00
commit 67fda33197
3 changed files with 29 additions and 0 deletions

View file

@ -100,6 +100,13 @@ func (daemon *Daemon) Create(config *runconfig.Config, hostConfig *runconfig.Hos
return nil, nil, err
}
}
if err := container.Mount(); err != nil {
return nil, nil, err
}
defer container.Unmount()
if err := container.prepareVolumes(); err != nil {
return nil, nil, err
}
if err := container.ToDisk(); err != nil {
return nil, nil, err
}

View file

@ -58,6 +58,9 @@ a list of daemon labels (`Labels`).
**New!**
You can set the new container's MAC address explicitly.
**New!**
Volumes are now initialized when the container is created.
`POST /containers/(id)/start`
**New!**

View file

@ -2,6 +2,7 @@ package main
import (
"encoding/json"
"os"
"os/exec"
"testing"
"time"
@ -125,3 +126,21 @@ func TestCreateEchoStdout(t *testing.T) {
logDone("create - echo test123")
}
func TestCreateVolumesCreated(t *testing.T) {
name := "test_create_volume"
cmd(t, "create", "--name", name, "-v", "/foo", "busybox")
dir, err := inspectFieldMap(name, "Volumes", "/foo")
if err != nil {
t.Fatalf("Error getting volume host path: %q", err)
}
if _, err := os.Stat(dir); err != nil && os.IsNotExist(err) {
t.Fatalf("Volume was not created")
}
if err != nil {
t.Fatalf("Error statting volume host path: %q", err)
}
logDone("create - volumes are created")
}