Only register the Docker driver in systems using libcontainer.

This commit is contained in:
Victor Marmol 2014-09-04 21:24:21 -07:00
parent 6ed452f328
commit f9c45094ab

View File

@ -132,6 +132,23 @@ func Register(factory info.MachineInfoFactory) error {
}
}
}
// Check that the libcontainer execdriver is used.
information, err := client.Info()
if err != nil {
return fmt.Errorf("failed to detect Docker info: %v", err)
}
usesNativeDriver := false
for _, val := range *information {
if strings.Contains(val, "ExecutionDriver=") && strings.Contains(val, "native") {
usesNativeDriver = true
break
}
}
if !usesNativeDriver {
return fmt.Errorf("Docker found, but not using native exec driver")
}
f := &dockerFactory{
machineInfoFactory: factory,
useSystemd: systemd.UseSystemd(),