我无法在ubuntu 14.04 LTS(VPS)上运行docker守护程序

我无法在ubuntu 14.04 LTS(VPS)上运行docker守护程序,ubuntu,docker,vps,Ubuntu,Docker,Vps,我无法在VPS服务器上的Ubuntu14.04 LTS上运行docker守护程序 root@xxx:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04 LTS Release: 14.04 Codename: trusty 正在运行的守护程序: root@xxx:~# sudo docker -d & [1] 16324

我无法在VPS服务器上的Ubuntu14.04 LTS上运行docker守护程序

root@xxx:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04 LTS
Release:    14.04
Codename:   trusty
正在运行的守护程序:

 root@xxx:~# sudo docker -d &
    [1] 16324
    root@xxx:~# 2015/02/17 13:45:35 WARNING: You are running linux kernel version 2.6.32-042stab093.4, which might be unstable running docker. Please upgrade your kernel to 3.8.0.
    2015/02/17 13:45:35 docker daemon: 1.0.1 990021a; execdriver: native; graphdriver:
    [237d5abc] +job serveapi(unix:///var/run/docker.sock)
    [237d5abc] +job initserver()
    [237d5abc.initserver()] Creating server
    2015/02/17 13:45:35 Listening for HTTP on unix (/var/run/docker.sock)
    [237d5abc] +job init_networkdriver()
    [237d5abc.init_networkdriver()] creating new bridge for docker0
    package not installed
    [237d5abc] -job init_networkdriver() = ERR (1)
    package not installed
    [237d5abc] -job initserver() = ERR (1)
    2015/02/17 13:45:35 package not installed
我尝试运行hello world应用程序,但得到以下结果:

root@xxx:~# sudo docker run -i -t ubuntu /bin/bash
2015/02/17 13:47:25 Cannot connect to the Docker daemon. Is 'docker -d' running on this host?

知道如何修复它吗?

首先,如果您运行的是内核2.6.32,那么实际上您并没有使用Ubuntu 14.04,它至少应该运行内核3.13.2。Docker可能无法正确使用像您所使用的那样旧的内核

也就是说,Docker试图在主机上操作网桥接口时,您似乎遇到了错误:

[237d5abc.init_networkdriver()] creating new bridge for docker0 
package not installed
您可能缺少提供brctl命令的bridge-utils包。尝试运行:

apt-get install bridge-utils

然后尝试重新启动Docker,看看会发生什么。

首先,如果您运行的是内核2.6.32,那么您实际上并没有使用Ubuntu 14.04,它至少应该运行内核3.13.2。Docker可能无法正确使用像您所使用的那样旧的内核

也就是说,Docker试图在主机上操作网桥接口时,您似乎遇到了错误:

[237d5abc.init_networkdriver()] creating new bridge for docker0 
package not installed
您可能缺少提供brctl命令的bridge-utils包。尝试运行:

apt-get install bridge-utils

然后尝试重新启动Docker,看看会发生什么。

这取决于您的VPS提供商使用的虚拟化技术。例如,如果他们使用OpenVZ,您不能在您的机器上运行docker,因为除非满足某些先决条件,否则容器不能在容器内运行

OpenVZ中的Docker:
这也是一篇关于这个主题的好文章:

这取决于您的VPS提供商使用的虚拟化技术。例如,如果他们使用OpenVZ,您不能在您的机器上运行docker,因为除非满足某些先决条件,否则容器不能在容器内运行

OpenVZ中的Docker:
这也是一篇关于这个主题的好文章:

我在Ramnode上的OpenVZ VPS遇到了同样的问题。未安装相同的软件包错误。简而言之,你不能

在我的例子中,Ramnode主机(可能您的主机也是)没有运行支持OpenVZ的内核,该内核的补丁位于042stab105.4或更高版本,并且在容器中启用了veth、bridge和iptables。我的主机运行的是2.6.32-042stab104.1。如果您处于类似的位置,我建议切换到基于KVM的VPS


我会对Celine的答案投赞成票或发表评论,但我没有足够的代表分数。

我在Ramnode上的OpenVZ VPS上遇到了同样的问题。未安装相同的软件包错误。简而言之,你不能

在我的例子中,Ramnode主机(可能您的主机也是)没有运行支持OpenVZ的内核,该内核的补丁位于042stab105.4或更高版本,并且在容器中启用了veth、bridge和iptables。我的主机运行的是2.6.32-042stab104.1。如果您处于类似的位置,我建议切换到基于KVM的VPS


我会对Celine的答案投赞成票或发表评论,但我没有足够的代表分数。

我安装了bridge utils,重新启动docker,但结果没有改变我收到了相同的错误消息我安装了bridge utils,重新启动docker,但结果没有更改我收到了相同的错误消息如果使用权限升级运行,则可以在容器中运行容器。如果使用权限升级运行,则可以在容器中运行容器。