【问题标题】:Docker service does not startDocker 服务未启动
【发布时间】:2023-03-09 05:34:01
【问题描述】:

docker 目前让我很难受。我遵循了这些instructions,以便在我的运行 Ubuntu 14.04 的虚拟服务器上安装 docker,该服务器由 Strato.de 托管。

wget -qO- https://get.docker.com/ | sh

执行此行会直接导致我进入此错误消息:

modprobe: ERROR: ../libkmod/libkmod.c:507 kmod_lookup_alias_from_builtin_file() could not open builtin file '/lib/modules/3.13.0-042stab092.3/modules.builtin.bin'modprobe: FATAL: Module aufs not found.
Warning: current kernel is not supported by the linux-image-extra-virtual
 package.  We have no AUFS support.  Consider installing the packages  linux-image-virtual kernel and linux-image-extra-virtual for AUFS support.

安装完成后,我安装了上面提到的两个包。现在我的问题是我无法让 docker 运行。

service docker start

结果:

start: Job failed to start


docker -d

结果

INFO[0000] +job serveapi(unix:///var/run/docker.sock)
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
ERRO[0000] 'overlay' not found as a supported filesystem on this host. Please ensure kernel is new enough and has overlay support loaded.
INFO[0000] +job init_networkdriver()
WARN[0000] Running modprobe bridge nf_nat failed with message: , error: exit status 1
package not installed
INFO[0000] -job init_networkdriver() = ERR (1)
FATA[0000] Shutting down daemon due to errors: package not installed

和

docker run hello-world

结果

FATA[0000] Post http:///var/run/docker.sock/v1.18/containers/create: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?

有人知道可能缺少哪些依赖项吗?还有什么可能出错的?有 docker 提供的日志吗?

我正在反复寻找解决方案,但找不到。

顺便提一下,这是一个全新的 Ubuntu 14.04 设置。除了java,我没有安装任何其他服务。而我需要docker的原因是为了使用sharelatex的dockerimage。

感谢您的帮助!

【问题讨论】:

  • 安装包后是否重启了主机?
  • 刚刚又做了一次 - 没有帮助。有人知道如何获得 docker 要求的“覆盖”文件系统吗?
  • 你的内核版本是多少? uname -a
  • 3.13.0-042stab092.3 我尝试升级到 3.18,但重启后仍然显示 3.13 。使用这种方法linuxandubuntu.com/home/…
  • 你为什么不使用 apt-get?你应该运行apt-get install linux-image-VERSION

标签: docker ubuntu-14.04


【解决方案1】:

这是我尝试/发现的内容,希望它能为您节省一些时间,甚至帮助您解决问题。

Docker 的download script 正在尝试通过uname -r 识别内核,以便能够为您的主机安装正确的内核附加组件。

我怀疑有两个问题:

  • 我的 (united-hoster.de) 和您的提供商可能为虚拟主机使用定制的内核映像(例如 3.13.0-042stab108.2)。由于脚本在名称中明确查找 -generic,因此查找失败。
  • 虽然命名问题很容易解决,但我无法使用主机的自定义内核安装generic 内核附加功能。似乎使用升级内核也不起作用,因为它会影响同一物理机器上的所有用户/虚拟主机。这是因为内核是共享的(在一些支持单中说明)。

为了解决这个问题..

  • 我跳过了它,希望 Docker 在没有 AUFS 支持的情况下也能工作,但它没有。
  • 我试图强制 Docker 改为 use devicemapper,但无济于事。

我看到了两个选择:获得一个专用主机,这样您就可以搞乱内核和文件系统,或者至少让 docker 安装程序来完成它或install the binaries manually。

【讨论】:

    【解决方案2】:

    你需要启动docker

    sudo start docker

    然后

    sudo docker run hello-world

    我在 ubuntu 14.04 上遇到了同样的问题,解决了。

    参考Nino-Khttps://github.com/docker-library/hello-world/issues/3的评论

    【讨论】:

    • 不幸的是,它也不能正常工作。 FATA[0000] 发布 http:///var/run/docker.sock/v1.18/containers/create:拨打 unix /var/run/docker.sock:没有这样的文件或目录。您是否尝试在没有 TLS 的情况下连接到启用 TLS 的守护程序?
    • 我还是找不到解决办法:(
    • 刚刚发现godaddy的专用服务器实际上是虚拟的,对3.13.0-042stab108.2的诅咒
    • 这应该是正确的答案。首先安装 docker 然后运行:sudo docker start 和 sudo docker run hello-world 这对我有用
    • 如果我错了,请纠正我,但 OP 无法启动 docker 守护进程,所以这个答案并没有真正的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-23
    • 1970-01-01
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    • 2016-12-30
    • 2016-09-07
    相关资源
    最近更新 更多