Skip to content

Commit 8387c5a

Browse files
unclejackArnaud Porterie
authored andcommitted
update kernel reqs doc; recommend updates on RHEL
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
1 parent 6949894 commit 8387c5a

File tree

3 files changed

+76
-15
lines changed

3 files changed

+76
-15
lines changed

docs/sources/installation/binaries.md

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,54 @@ runtime:
3232
Docker in daemon mode has specific kernel requirements. For details,
3333
check your distribution in [*Installation*](../#installation-list).
3434

35-
In general, a 3.8 Linux kernel is the minimum requirement for Docker, as
36-
some of the prior versions have known issues that are triggered by Docker.
37-
Linux kernel versions older than 3.8 are known to cause kernel panics and
38-
to break Docker.
35+
A 3.10 Linux kernel is the minimum requirement for Docker.
36+
Kernels older than 3.10 lack some of the features required to run Docker
37+
containers. These older versions are known to have bugs which cause data loss
38+
and frequently panic under certain conditions.
39+
We recommend kernel 3.10 or newer.
3940

4041
The latest minor version (3.x.y) of the 3.10 (or a newer maintained version)
4142
Linux kernel is recommended. Keeping the kernel up to date with the latest
4243
minor version will ensure critical kernel bugs get fixed.
4344

45+
> **Warning**:
46+
> Installing custom kernels and kernel packages is likely to not be
47+
> supported by your Linux distribution's vendor. Please make sure to
48+
> ask your vendor about Docker support first before attempting to
49+
> install custom kernels on your distribution.
50+
51+
> **Warning**:
52+
> Installing a newer kernel might not be enough for some distributions
53+
> which provide packages which are too old or incompatible with
54+
> newer kernels.
55+
4456
Note that Docker also has a client mode, which can run on virtually any
4557
Linux kernel (it even builds on OS X!).
4658

59+
## Check if AppArmor and SELinux are enabled
60+
61+
Some Linux distributions enable AppArmor or SELinux by default and
62+
they run a kernel which doesn't meet the minimum requirements (3.10
63+
or newer). Updating the kernel to 3.10 or newer on such a system
64+
might not be enough to start Docker and run containers.
65+
Incompatibilities between the version of AppArmor/SELinux user
66+
space utilities provided by the system and the kernel could prevent
67+
Docker from running, from starting containers or make containers
68+
exhibit unexpected behaviour.
69+
70+
> **Warning**:
71+
> If any of the two security mechanisms is enabled, it should not be
72+
> disabled to make Docker or its containers run. This will reduce
73+
> security in that environment, lose support from the distribution's
74+
> vendor for the system and might break regulations, and security
75+
> policies in heavily regulated environments.
76+
77+
> **Warning**:
78+
> Please use AppArmor or SELinux if your Linux distribution supports
79+
> either of the two. This helps improve security and blocks certain
80+
> types of exploits. Your distribution's documentation should provide
81+
> detailed steps on how to enable the recommended security mechanism.
82+
4783
## Get the docker binary:
4884

4985
$ wget https://get.docker.com/builds/Linux/x86_64/docker-latest -O docker

docs/sources/installation/rhel.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,23 @@ this package is part of [Extra Packages for Enterprise Linux
5353
(EPEL)](https://fedoraproject.org/wiki/EPEL), a community effort to
5454
create and maintain additional packages for the RHEL distribution.
5555

56+
### Kernel support
57+
58+
RHEL will only support Docker via the *extras* channel or EPEL package when
59+
running on kernels shipped by the distribution. There are things like namespace
60+
changes which will cause issues if one decides to step outside that box and run
61+
non-distro kernel packages.
62+
63+
> **Warning**:
64+
> Please make sure that your system is up to date by installing updates
65+
> using `yum update` and rebooting your system.
66+
> Keeping the system up to date is recommended to ensure your system
67+
> receives fixes for critical security vulnerabilities and severe bugs.
68+
> The fixes for severe bugs include fixes for potential kernel panics
69+
> specific to kernel 2.6.32.
70+
71+
## Installation
72+
5673
Firstly, you need to install the EPEL repository. Please follow the
5774
[EPEL installation
5875
instructions](https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F).

docs/sources/installation/ubuntulinux.md

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,23 @@ This installation path should work at all times.
9191

9292
### Dependencies
9393

94-
**Linux kernel 3.8**
95-
96-
Due to a bug in LXC, Docker works best on the 3.8 kernel. Precise comes
97-
with a 3.2 kernel, so we need to upgrade it. The kernel you'll install
98-
when following these steps comes with AUFS built in. We also include the
99-
generic headers to enable packages that depend on them, like ZFS and the
100-
VirtualBox guest additions. If you didn't install the headers for your
101-
"precise" kernel, then you can skip these headers for the "raring"
102-
kernel. But it is safer to include them if you're not sure.
94+
**Linux kernel 3.13**
95+
96+
Kernel 3.13 is currently the recommended kernel version for Ubuntu Precise.
97+
Some Ubuntu Precise installs have an older kernel installed, so it must
98+
be upgraded. The kernel you'll install when following these steps has AUFS
99+
built in.
100+
We also include the generic headers to enable packages that depend on them,
101+
like ZFS and the VirtualBox guest additions. If you didn't install the
102+
headers for your "precise" kernel, then you can skip these headers for the
103+
"trusty" kernel. It is safer to include the headers if you're not sure.
104+
105+
> **Warning**:
106+
> Kernels 3.8 and 3.11 are no longer supported by Canonical. Systems
107+
> running these kernels need to be updated using the instructions below.
108+
> Running Docker on these unsupported systems isn't supported either.
109+
> These old kernels are no longer patched for security vulnerabilities
110+
> and severe bugs which lead to data loss.
103111
104112
Please read the installation instructions for backported kernels at
105113
Ubuntu.org to understand why you also need to install the Xorg packages
@@ -109,10 +117,10 @@ each version.
109117

110118
# install the backported kernel
111119
$ sudo apt-get update
112-
$ sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring
120+
$ sudo apt-get install linux-image-generic-lts-trusty linux-headers-generic-lts-trusty
113121

114122
# install the backported kernel and xorg if using Unity/Xorg
115-
$ sudo apt-get install --install-recommends linux-generic-lts-raring xserver-xorg-lts-raring libgl1-mesa-glx-lts-raring
123+
$ sudo apt-get install --install-recommends linux-generic-lts-trusty xserver-xorg-lts-trusty libgl1-mesa-glx-lts-trusty
116124

117125
# reboot
118126
$ sudo reboot

0 commit comments

Comments
 (0)