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

Merge pull request #4674 from vbatts/vbatts-graphdriver_build_tags

graphdriver: build tags
This commit is contained in:
Victor Vieux 2014-03-18 10:25:59 -07:00
commit f14c0866ec
5 changed files with 55 additions and 7 deletions

View file

@ -157,6 +157,18 @@ AppArmor, you will need to set `DOCKER_BUILDTAGS` as follows:
export DOCKER_BUILDTAGS='apparmor'
```
There are build tags for disabling graphdrivers as well. By default, support
for all graphdrivers are built in.
To disable devicemapper
```bash
export DOCKER_BUILDTAGS='exclude_graphdriver_devicemapper'
```
To disable aufs
```bash
export DOCKER_BUILDTAGS='exclude_graphdriver_aufs'
```
### Static Daemon
If it is feasible within the constraints of your distribution, you should

View file

@ -16,9 +16,7 @@ import (
"github.com/dotcloud/docker/runtime/execdriver/execdrivers"
"github.com/dotcloud/docker/runtime/execdriver/lxc"
"github.com/dotcloud/docker/runtime/graphdriver"
"github.com/dotcloud/docker/runtime/graphdriver/aufs"
_ "github.com/dotcloud/docker/runtime/graphdriver/btrfs"
_ "github.com/dotcloud/docker/runtime/graphdriver/devmapper"
_ "github.com/dotcloud/docker/runtime/graphdriver/vfs"
_ "github.com/dotcloud/docker/runtime/networkdriver/lxc"
"github.com/dotcloud/docker/runtime/networkdriver/portallocator"
@ -652,11 +650,9 @@ func NewRuntimeFromDirectory(config *daemonconfig.Config, eng *engine.Engine) (*
return nil, err
}
if ad, ok := driver.(*aufs.Driver); ok {
utils.Debugf("Migrating existing containers")
if err := ad.Migrate(config.Root, graph.SetupInitLayer); err != nil {
return nil, err
}
// Migrate the container if it is aufs and aufs is enabled
if err = migrateIfAufs(driver, config.Root); err != nil {
return nil, err
}
utils.Debugf("Creating images graph")

22
runtime/runtime_aufs.go Normal file
View file

@ -0,0 +1,22 @@
// +build !exclude_graphdriver_aufs
package runtime
import (
"github.com/dotcloud/docker/graph"
"github.com/dotcloud/docker/runtime/graphdriver"
"github.com/dotcloud/docker/runtime/graphdriver/aufs"
"github.com/dotcloud/docker/utils"
)
// Given the graphdriver ad, if it is aufs, then migrate it.
// If aufs driver is not built, this func is a noop.
func migrateIfAufs(driver graphdriver.Driver, root string) error {
if ad, ok := driver.(*aufs.Driver); ok {
utils.Debugf("Migrating existing containers")
if err := ad.Migrate(root, graph.SetupInitLayer); err != nil {
return err
}
}
return nil
}

View file

@ -0,0 +1,7 @@
// +build !exclude_graphdriver_devicemapper
package runtime
import (
_ "github.com/dotcloud/docker/runtime/graphdriver/devmapper"
)

View file

@ -0,0 +1,11 @@
// +build exclude_graphdriver_aufs
package runtime
import (
"github.com/dotcloud/docker/runtime/graphdriver"
)
func migrateIfAufs(driver graphdriver.Driver, root string) error {
return nil
}