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

Use dummy driver for volumes

It makes no sense to use the aufs or devicemapper drivers for volumes.
The aufs one is perhaps not a big problem, but the devicemapper one
certainly is. It will be unnecessarily using a dm
blockdevice-over-loopback with a limited size base FS.

This just hardcodes the driver to be the dummy, perhaps in the future
we can have other drivers that make sense for the volumes.
This commit is contained in:
Alexander Larsson 2013-11-15 11:30:28 +01:00
parent 0c38f86e5e
commit 10f23a94f6
2 changed files with 11 additions and 4 deletions

View file

@ -50,7 +50,7 @@ func Register(name string, initFunc InitFunc) error {
return nil
}
func getDriver(name, home string) (Driver, error) {
func GetDriver(name, home string) (Driver, error) {
if initFunc, exists := drivers[name]; exists {
return initFunc(path.Join(home, name))
}
@ -62,11 +62,11 @@ func New(root string) (Driver, error) {
var lastError error
// Use environment variable DOCKER_DRIVER to force a choice of driver
if name := os.Getenv("DOCKER_DRIVER"); name != "" {
return getDriver(name, root)
return GetDriver(name, root)
}
// Check for priority drivers first
for _, name := range priority {
driver, lastError = getDriver(name, root)
driver, lastError = GetDriver(name, root)
if lastError != nil {
utils.Debugf("Error loading driver %s: %s", name, lastError)
continue

View file

@ -629,7 +629,14 @@ func NewRuntimeFromDirectory(config *DaemonConfig) (*Runtime, error) {
if err != nil {
return nil, err
}
volumes, err := NewGraph(path.Join(config.Root, "volumes"), driver)
// We don't want to use a complex driver like aufs or devmapper
// for volumes, just a plain filesystem
volumesDriver, err := graphdriver.GetDriver("dummy", config.Root)
if err != nil {
return nil, err
}
volumes, err := NewGraph(path.Join(config.Root, "volumes"), volumesDriver)
if err != nil {
return nil, err
}