Browse code

Ensure vmcompute.dll exists during daemon start

Signed-off-by: Darren Stahl <darst@microsoft.com>

Darren Stahl authored on 2016/11/19 05:34:25
Showing 1 changed files
... ...
@@ -24,6 +24,7 @@ import (
24 24
 	"github.com/docker/libnetwork/netlabel"
25 25
 	"github.com/docker/libnetwork/options"
26 26
 	blkiodev "github.com/opencontainers/runc/libcontainer/configs"
27
+	"golang.org/x/sys/windows"
27 28
 )
28 29
 
29 30
 const (
... ...
@@ -230,6 +231,11 @@ func checkSystem() error {
230 230
 	if osv.Build < 14393 {
231 231
 		return fmt.Errorf("The docker daemon requires build 14393 or later of Windows Server 2016 or Windows 10")
232 232
 	}
233
+
234
+	vmcompute := windows.NewLazySystemDLL("vmcompute.dll")
235
+	if vmcompute.Load() != nil {
236
+		return fmt.Errorf("Failed to load vmcompute.dll. Ensure that the Containers role is installed.")
237
+	}
233 238
 	return nil
234 239
 }
235 240