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:
commit
67fda33197
3 changed files with 29 additions and 0 deletions
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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!**
|
||||
|
|
|
@ -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")
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue