Docker minimum kernel version 3.8.13 or 3.10

2019-01-26 13:23发布

On the Docker website I am seeing information that is close to being in conflict.

The page: https://docs.docker.com/installation/oracle/ Says "Docker requires the use of the Unbreakable Enterprise Kernel Release 3 (3.8.13) or higher on Oracle Linux."

The page: https://docs.docker.com/installation/binaries/ Says 3.10 is required.

I'm guessing that stuff got added into a special build of 3.8.13 which would otherwise require version 3.10.

If anybody could give some clarification that would be great.

3条回答
霸刀☆藐视天下
2楼-- · 2019-01-26 13:31

Get rid of UEK and you will be on a more modern kernel.

This is what I have on OEL 7 without uek: 3.10.0-229.14.1.el7.x86_64

查看更多
不美不萌又怎样
3楼-- · 2019-01-26 13:40

I had no success with Oracle Unbreakable Linux 7.0 which is identical to Red Hat 7.0 I am told.

Example below shows that a fairly standard container created from latest Ubuntu will not start after creation.

[vagrant@oracle-70-x64 ~]$ docker run -t -i ubuntu /bin/bash
Unable to find image 'ubuntu:latest' locally
latest: Pulling from ubuntu
e118faab2e16: Pull complete 
7e2c5c55ef2c: Pull complete 
e04c66a223c4: Pull complete 
fa81ed084842: Already exists 
ubuntu:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.
Digest: sha256:738edd684282277c07f23277718e43562daf2ee210f7aca9a13fae65f0159ffffd
Status: Downloaded newer image for ubuntu:latest
root@6f47331e6c6a:/# exit
exit
[vagrant@oracle-70-x64 ~]$ docker ps -all
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
6f47331e6c6a        ubuntu:latest       "/bin/bash"         36 seconds ago      Exited (0) 7 seconds ago                       boring_lovelace     
[vagrant@oracle-70-x64 ~]$ docker start 6f47331e6c6a
Error response from daemon: Cannot start container 6f47331e6c6a: [8] System error: Unit docker-6f47331e6c6a85410028b661bebe997192bb15dfa2f6cf1d92328586a5afa2c0.scope already exists.
FATA[0000] Error: failed to start one or more containers 
[vagrant@oracle-70-x64 ~]$

The problem is the kernel version. It is old

[vagrant@oracle-70-x64 ~]$ uname -a
Linux oracle-70-x64.vagrantup.com 3.8.13-35.3.1.el7uek.x86_64 #2 SMP Wed Jun 25 15:27:43 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux

Compared to for example Ubuntu

$ uname -a
Linux kore 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
查看更多
成全新的幸福
4楼-- · 2019-01-26 13:43

Correct; in general, kernel 3.10 is the absolute minimum kernel version that supports the features that Docker requires to run stable (newer versions are preferred though).

However, some Linux distro's back-port features to older kernels so that they are still able to run Docker. Red Hat Enterprise Linux 6.5, for example, is able to run Docker on a kernel 2.6 (it's still a 12 year old kernel, though....)

To summarise;

  • Always run the most up-to-date kernel version provided by your distribution
  • Replacing the kernel that's provided by your distribution with a custom kernel might work, but is not officially supported.
  • Some (cloud) providers replace the kernel with a customised version; this has been the cause of some issues.
  • If you're building your own kernel, use a recent version (docker does take advantage of some features in recent versions)

There's also a shell-script to check if your system has the required dependencies in place and to check which features are available;

https://github.com/docker/docker/blob/master/contrib/check-config.sh

Update

Starting with Docker 1.8.0, Red Hat Enterprise Linux 6, and CentOS 6 (and Kernel 2.6) are no longer supported platforms for running Docker, and no new packages are released for those distributions. Running Docker on those platforms is highly discouraged, as the latest version released for RHEL 6 / CentOS 6 is Docker 1.7.1. It's recommended to upgrade your system to RHEL 7 / CentOS 7, which is actively supported.

查看更多
登录 后发表回答