mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
graphdriver: build tags
Enable build tags for all the graphdrivers to be excludable. As an example: ``` $ go build $ ls -l docker -rwxr-xr-x 1 vbatts vbatts 18400158 Mar 14 14:22 docker* $ go build -tags "exclude_graphdriver_aufs exclude_graphdriver_vfs exclude_graphdriver_devicemapper" $ ls -l docker -rwxr-xr-x 1 vbatts vbatts 17467068 Mar 14 14:22 docker* ``` Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
This commit is contained in:
parent
68dc189680
commit
670ce98c60
6 changed files with 67 additions and 8 deletions
|
@ -157,6 +157,23 @@ AppArmor, you will need to set `DOCKER_BUILDTAGS` as follows:
|
||||||
export DOCKER_BUILDTAGS='apparmor'
|
export DOCKER_BUILDTAGS='apparmor'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
There are build tags for disabling graphdrivers as well. By default, support
|
||||||
|
for all graphdrivers are built in.
|
||||||
|
|
||||||
|
To disable vfs
|
||||||
|
```bash
|
||||||
|
export DOCKER_BUILDTAGS='exclude_graphdriver_vfs'
|
||||||
|
```
|
||||||
|
|
||||||
|
To disable devicemapper
|
||||||
|
```bash
|
||||||
|
export DOCKER_BUILDTAGS='exclude_graphdriver_devicemapper'
|
||||||
|
```
|
||||||
|
To disable aufs
|
||||||
|
```bash
|
||||||
|
export DOCKER_BUILDTAGS='exclude_graphdriver_aufs'
|
||||||
|
```
|
||||||
|
|
||||||
### Static Daemon
|
### Static Daemon
|
||||||
|
|
||||||
If it is feasible within the constraints of your distribution, you should
|
If it is feasible within the constraints of your distribution, you should
|
||||||
|
|
|
@ -16,10 +16,7 @@ import (
|
||||||
"github.com/dotcloud/docker/runtime/execdriver/execdrivers"
|
"github.com/dotcloud/docker/runtime/execdriver/execdrivers"
|
||||||
"github.com/dotcloud/docker/runtime/execdriver/lxc"
|
"github.com/dotcloud/docker/runtime/execdriver/lxc"
|
||||||
"github.com/dotcloud/docker/runtime/graphdriver"
|
"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/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/lxc"
|
||||||
"github.com/dotcloud/docker/runtime/networkdriver/portallocator"
|
"github.com/dotcloud/docker/runtime/networkdriver/portallocator"
|
||||||
"github.com/dotcloud/docker/utils"
|
"github.com/dotcloud/docker/utils"
|
||||||
|
@ -652,11 +649,9 @@ func NewRuntimeFromDirectory(config *daemonconfig.Config, eng *engine.Engine) (*
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if ad, ok := driver.(*aufs.Driver); ok {
|
// Migrate the container if it is aufs and aufs is enabled
|
||||||
utils.Debugf("Migrating existing containers")
|
if err = migrateIfAufs(driver, config.Root); err != nil {
|
||||||
if err := ad.Migrate(config.Root, graph.SetupInitLayer); err != nil {
|
return nil, err
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
utils.Debugf("Creating images graph")
|
utils.Debugf("Creating images graph")
|
||||||
|
|
22
runtime/runtime_aufs.go
Normal file
22
runtime/runtime_aufs.go
Normal 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
|
||||||
|
}
|
7
runtime/runtime_devicemapper.go
Normal file
7
runtime/runtime_devicemapper.go
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
// +build !exclude_graphdriver_devicemapper
|
||||||
|
|
||||||
|
package runtime
|
||||||
|
|
||||||
|
import (
|
||||||
|
_ "github.com/dotcloud/docker/runtime/graphdriver/devmapper"
|
||||||
|
)
|
11
runtime/runtime_no_aufs.go
Normal file
11
runtime/runtime_no_aufs.go
Normal 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
|
||||||
|
}
|
7
runtime/runtime_vfs.go
Normal file
7
runtime/runtime_vfs.go
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
// +build !exclude_graphdriver_vfs
|
||||||
|
|
||||||
|
package runtime
|
||||||
|
|
||||||
|
import (
|
||||||
|
_ "github.com/dotcloud/docker/runtime/graphdriver/vfs"
|
||||||
|
)
|
Loading…
Add table
Add a link
Reference in a new issue