|
...
|
...
|
@@ -11,7 +11,7 @@ In short, Docker has the following kernel requirements:
|
|
11
|
11
|
|
|
12
|
12
|
- Linux version 3.8 or above.
|
|
13
|
13
|
|
|
14
|
|
-- Compiled with `AUFS support <http://aufs.sourceforge.net/>`_.
|
|
|
14
|
+- `AUFS support <http://aufs.sourceforge.net/>`_.
|
|
15
|
15
|
|
|
16
|
16
|
- Cgroups and namespaces must be enabled.
|
|
17
|
17
|
|
|
...
|
...
|
@@ -26,26 +26,8 @@ If you cannot or do not want to use the "official" kernels,
|
|
26
|
26
|
here is some technical background about the features (both optional and
|
|
27
|
27
|
mandatory) that docker needs to run successfully.
|
|
28
|
28
|
|
|
29
|
|
-
|
|
30
|
|
-Namespaces and Cgroups
|
|
31
|
|
-
|
|
32
|
|
-You need to enable namespaces and cgroups, to the extend of what is needed
|
|
33
|
|
-to run LXC containers. Technically, while namespaces have been introduced
|
|
34
|
|
-in the early 2.6 kernels, we do not advise to try any kernel before 2.6.32
|
|
35
|
|
-to run LXC containers. Note that 2.6.32 has some documented issues regarding
|
|
36
|
|
-network namespace setup and teardown; those issues are not a risk if you
|
|
37
|
|
-run containers in a private environment, but can lead to denial-of-service
|
|
38
|
|
-attacks if you want to run untrusted code in your containers. For more details,
|
|
39
|
|
-see `[LP#720095 <https://bugs.launchpad.net/ubuntu/+source/linux/+bug/720095>`_.
|
|
40
|
|
-
|
|
41
|
|
-Kernels 2.6.38, and every version since 3.2, have been deployed successfully
|
|
42
|
|
-to run containerized production workloads. Feature-wise, there is no huge
|
|
43
|
|
-improvement between 2.6.38 and up to 3.6 (as far as docker is concerned!).
|
|
44
|
|
-
|
|
45
|
|
-
|
|
46
|
|
-Important Note About Pre-3.8 Kernels
|
|
|
29
|
+Linux version 3.8 or above
|
|
|
30
|
+--------------------------
|
|
47
|
31
|
|
|
48
|
32
|
Kernel versions 3.2 to 3.5 are not stable when used with docker.
|
|
49
|
33
|
In some circumstances, you will experience kernel "oopses", or even crashes.
|
|
...
|
...
|
@@ -67,6 +49,36 @@ detects something older than 3.8.
|
|
67
|
67
|
See issue `#407 <https://github.com/dotcloud/docker/issues/407>`_ for details.
|
|
68
|
68
|
|
|
69
|
69
|
|
|
|
70
|
+AUFS support
|
|
|
71
|
+------------
|
|
|
72
|
+
|
|
|
73
|
+Docker currently relies on AUFS, an unioning filesystem.
|
|
|
74
|
+While AUFS is included in the kernels built by the Debian and Ubuntu
|
|
|
75
|
+distributions, is not part of the standard kernel. This means that if
|
|
|
76
|
+you decide to roll your own kernel, you will have to patch your
|
|
|
77
|
+kernel tree to add AUFS. The process is documented on
|
|
|
78
|
+`AUFS webpage <http://aufs.sourceforge.net/>`_.
|
|
|
79
|
+
|
|
|
80
|
+
|
|
|
81
|
+Cgroups and namespaces
|
|
|
82
|
+----------------------
|
|
|
83
|
+
|
|
|
84
|
+You need to enable namespaces and cgroups, to the extend of what is needed
|
|
|
85
|
+to run LXC containers. Technically, while namespaces have been introduced
|
|
|
86
|
+in the early 2.6 kernels, we do not advise to try any kernel before 2.6.32
|
|
|
87
|
+to run LXC containers. Note that 2.6.32 has some documented issues regarding
|
|
|
88
|
+network namespace setup and teardown; those issues are not a risk if you
|
|
|
89
|
+run containers in a private environment, but can lead to denial-of-service
|
|
|
90
|
+attacks if you want to run untrusted code in your containers. For more details,
|
|
|
91
|
+see `[LP#720095 <https://bugs.launchpad.net/ubuntu/+source/linux/+bug/720095>`_.
|
|
|
92
|
+
|
|
|
93
|
+Kernels 2.6.38, and every version since 3.2, have been deployed successfully
|
|
|
94
|
+to run containerized production workloads. Feature-wise, there is no huge
|
|
|
95
|
+improvement between 2.6.38 and up to 3.6 (as far as docker is concerned!).
|
|
|
96
|
+
|
|
|
97
|
+
|
|
|
98
|
+
|
|
|
99
|
+
|
|
70
|
100
|
Extra Cgroup Controllers
|
|
71
|
101
|
------------------------
|
|
72
|
102
|
|
|
...
|
...
|
@@ -101,14 +113,3 @@ And replace it by the following one::
|
|
101
|
101
|
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount"
|
|
102
|
102
|
|
|
103
|
103
|
Then run ``update-grub``, and reboot.
|
|
104
|
|
-
|
|
105
|
|
-
|
|
106
|
|
-AUFS
|
|
107
|
|
-
|
|
108
|
|
-Docker currently relies on AUFS, an unioning filesystem.
|
|
109
|
|
-While AUFS is included in the kernels built by the Debian and Ubuntu
|
|
110
|
|
-distributions, is not part of the standard kernel. This means that if
|
|
111
|
|
-you decide to roll your own kernel, you will have to patch your
|
|
112
|
|
-kernel tree to add AUFS. The process is documented on
|
|
113
|
|
-`AUFS webpage <http://aufs.sourceforge.net/>`_.
|