|
@@ -267,10 +267,12 @@ func checkKernel() error {
|
|
// without actually causing a kernel panic, so we need this workaround until
|
|
// without actually causing a kernel panic, so we need this workaround until
|
|
// the circumstances of pre-3.10 crashes are clearer.
|
|
// the circumstances of pre-3.10 crashes are clearer.
|
|
// For details see https://github.com/docker/docker/issues/407
|
|
// For details see https://github.com/docker/docker/issues/407
|
|
|
|
+ // Docker 1.11 and above doesn't actually run on kernels older than 3.4,
|
|
|
|
+ // due to containerd-shim usage of PR_SET_CHILD_SUBREAPER (introduced in 3.4).
|
|
if !checkKernelVersion(3, 10, 0) {
|
|
if !checkKernelVersion(3, 10, 0) {
|
|
v, _ := kernel.GetKernelVersion()
|
|
v, _ := kernel.GetKernelVersion()
|
|
if os.Getenv("DOCKER_NOWARN_KERNEL_VERSION") == "" {
|
|
if os.Getenv("DOCKER_NOWARN_KERNEL_VERSION") == "" {
|
|
- logrus.Warnf("Your Linux kernel version %s can be unstable running docker. Please upgrade your kernel to 3.10.0.", v.String())
|
|
|
|
|
|
+ logrus.Fatalf("Your Linux kernel version %s is not supported for running docker. Please upgrade your kernel to 3.10.0 or newer.", v.String())
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return nil
|
|
return nil
|