mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Save driver to container and skip incompat containers
For people who toggle drivers we want to save the driver used to create a container so that if the driver changes we can skip loading the container and it should not show up in docker ps
This commit is contained in:
parent
7cad77b1e2
commit
4908d7f81d
2 changed files with 11 additions and 2 deletions
|
@ -47,6 +47,7 @@ type Container struct {
|
|||
HostnamePath string
|
||||
HostsPath string
|
||||
Name string
|
||||
Driver string
|
||||
|
||||
cmd *exec.Cmd
|
||||
stdout *utils.WriteBroadcaster
|
||||
|
|
12
runtime.go
12
runtime.go
|
@ -262,6 +262,7 @@ func (runtime *Runtime) restore() error {
|
|||
return err
|
||||
}
|
||||
containers := make(map[string]*Container)
|
||||
currentDriver := runtime.driver.String()
|
||||
|
||||
for i, v := range dir {
|
||||
id := v.Name()
|
||||
|
@ -273,8 +274,14 @@ func (runtime *Runtime) restore() error {
|
|||
utils.Errorf("Failed to load container %v: %v", id, err)
|
||||
continue
|
||||
}
|
||||
utils.Debugf("Loaded container %v", container.ID)
|
||||
containers[container.ID] = container
|
||||
|
||||
// Ignore the container if it does not support the current driver being used by the graph
|
||||
if container.Driver == "" && currentDriver == "aufs" || container.Driver == currentDriver {
|
||||
utils.Debugf("Loaded container %v", container.ID)
|
||||
containers[container.ID] = container
|
||||
} else {
|
||||
utils.Debugf("Cannot load container %s because it was created with another graph driver.", container.ID)
|
||||
}
|
||||
}
|
||||
|
||||
register := func(container *Container) {
|
||||
|
@ -445,6 +452,7 @@ func (runtime *Runtime) Create(config *Config, name string) (*Container, []strin
|
|||
// FIXME: do we need to store this in the container?
|
||||
SysInitPath: sysInitPath,
|
||||
Name: name,
|
||||
Driver: runtime.driver.String(),
|
||||
}
|
||||
container.root = runtime.containerRoot(container.ID)
|
||||
// Step 1: create the container directory.
|
||||
|
|
Loading…
Add table
Reference in a new issue