Browse code

Simplified and clarified kernel install instructions

Solomon Hykes authored on 2013/05/24 00:47:20
Showing 1 changed files
... ...
@@ -7,20 +7,25 @@
7 7
 Kernel Requirements
8 8
 ===================
9 9
 
10
+In short, Docker has the following kernel requirements:
11
+
12
+- Linux version 3.8 or above.
13
+
14
+- Compiled with `AUFS support <http://aufs.sourceforge.net/>`_.
15
+
16
+- Cgroups and namespaces must be enabled.
17
+
18
+
10 19
   The officially supported kernel is the one recommended by the
11 20
   :ref:`ubuntu_linux` installation path. It is the one that most developers
12 21
   will use, and the one that receives the most attention from the core
13 22
   contributors. If you decide to go with a different kernel and hit a bug,
14 23
   please try to reproduce it with the official kernels first.
15 24
 
16
-If for some reason you cannot or do not want to use the "official" kernels,
25
+If you cannot or do not want to use the "official" kernels,
17 26
 here is some technical background about the features (both optional and
18 27
 mandatory) that docker needs to run successfully.
19 28
 
20
-In short, you need kernel version 3.8 (or above), compiled to include
21
-`AUFS support <http://aufs.sourceforge.net/>`_. Of course, you need to
22
-enable cgroups and namespaces.
23
-
24 29
 
25 30
 Namespaces and Cgroups
26 31
 ----------------------
... ...
@@ -38,30 +43,11 @@ Kernels 2.6.38, and every version since 3.2, have been deployed successfully
38 38
 to run containerized production workloads. Feature-wise, there is no huge
39 39
 improvement between 2.6.38 and up to 3.6 (as far as docker is concerned!).
40 40
 
41
-Starting with version 3.7, the kernel has basic support for
42
-`Checkpoint/Restore In Userspace <http://criu.org/>`_, which is not used by
43
-docker at this point, but allows to suspend the state of a container to
44
-disk and resume it later.
45
-
46
-Version 3.8 provides improvements in stability, which are deemed necessary
47
-for the operation of docker. Versions 3.2 to 3.5 have been shown to
48
-exhibit a reproducible bug (for more details, see issue
49
-`#407 <https://github.com/dotcloud/docker/issues/407>`_).
50
-
51
-Version 3.8 also brings better support for the
52
-`setns() syscall <http://lwn.net/Articles/531381/>`_ -- but this should not
53
-be a concern since docker does not leverage on this feature for now.
54
-
55
-If you want a technical overview about those concepts, you might
56
-want to check those articles on dotCloud's blog:
57
-`about namespaces <http://blog.dotcloud.com/under-the-hood-linux-kernels-on-dotcloud-part>`_
58
-and `about cgroups <http://blog.dotcloud.com/kernel-secrets-from-the-paas-garage-part-24-c>`_.
59
-
60 41
 
61 42
 Important Note About Pre-3.8 Kernels
62 43
 ------------------------------------
63 44
 
64
-As mentioned above, kernels before 3.8 are not stable when used with docker.
45
+Kernel versions 3.2 to 3.5 are not stable when used with docker.
65 46
 In some circumstances, you will experience kernel "oopses", or even crashes.
66 47
 The symptoms include:
67 48
 
... ...
@@ -126,28 +112,3 @@ distributions, is not part of the standard kernel. This means that if
126 126
 you decide to roll your own kernel, you will have to patch your
127 127
 kernel tree to add AUFS. The process is documented on
128 128
 `AUFS webpage <http://aufs.sourceforge.net/>`_.
129
-
130
-Note: the AUFS patch is fairly intrusive, but for the record, people have
131
-successfully applied GRSEC and AUFS together, to obtain hardened production
132
-kernels.
133
-
134
-If you want more information about that topic, there is an
135
-`article about AUFS on dotCloud's blog 
136
-<http://blog.dotcloud.com/kernel-secrets-from-the-paas-garage-part-34-a>`_.
137
-
138
-
139
-BTRFS, ZFS, OverlayFS...
140
-
141
-There is ongoing development on docker, to implement support for
142
-`BTRFS <http://en.wikipedia.org/wiki/Btrfs>`_
143
-(see github issue `#443 <https://github.com/dotcloud/docker/issues/443>`_).
144
-
145
-People have also showed interest for `ZFS <http://en.wikipedia.org/wiki/ZFS>`_
146
-(using e.g. `ZFS-on-Linux <http://zfsonlinux.org/>`_) and OverlayFS.
147
-The latter is functionally close to AUFS, and it might end up being included
148
-in the stock kernel; so it's a strong candidate!
149
-
150
-Would you like to `contribute
151
-<https://github.com/dotcloud/docker/blob/master/CONTRIBUTING.md>`_
152
-support for your favorite filesystem?