无法运行docker hello-world:找不到设备的安装点


12

Docker的新手。

从中的软件管理工具安装了docker mint 17

当我跑步时, docker run hello-world我收到:

FATA[0000] Error response from daemon: Cannot start container a6bcc1ede2c38cb6b020cf5ab35ebd51b64535af57fa44f5966c37bdf89c8781: [8] System error: mountpoint for devices not found 

查看服务日志(/var/log/upstart/docker.log)时,我看到:

ERRO[0617] Couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH 
ERRO[0617] Couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH 

:码头工人版本

Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.2.1
Git commit (client): 7c8fca2
OS/Arch (client): linux/amd64
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.2.1
Git commit (server): 7c8fca2
OS/Arch (server): linux/amd64

:码头工人信息

Containers: 2
Images: 1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 5
 Dirperm1 Supported: false
Execution Driver: native-0.2
Kernel Version: 3.13.0-24-generic
Operating System: Ubuntu 14.04.3 LTS
CPUs: 8
Total Memory: 15.6 GiB
Name: DWDEV-HOME-HBABAI
ID: K4GX:DTV6:547V:U3BO:YEOA:WVNU:NZEZ:L3GG:4W7U:IXNS:X3QK:5PVR
WARNING: No memory limit support
WARNING: No swap limit support

更新:

已安装sudo apt-get install aufs-tools,重新启动了docker服务。我不再看到以下错误:

ERRO[0617] Couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH 

但是,在日志中,我看到docker启动时正在警告我有关内存装入点的信息:

INFO[0000] -job init_networkdriver() = OK (0)           
/var/run/docker.sock is up
WARN[0000] mountpoint for memory not found              
INFO[0000] Loading containers: start.         

我觉得这与cgroup有关...但我对该技术一无所知...


看来您的问题落在了地板上,并破裂了。请为我们整理一下。
斯科特

@Scott -对不起......希望它是现在好多了...谢谢指点出来
HBA

Answers:


23

原来我需要安装cgroup-lite。那是在黑暗中开枪,但我遵循了这个答案


您知道,我在某个时候发现了这个问题,然后就忘记了。现在,当我再次遇到它并记住(并赞成)时,找到了您的问题。
0xC0000022L16年

Debian中,相应的软件包称为cgroupfs-mount
Bass

1

对于在2020年在Debian上看到此问题的人,我将在此处添加另一个答案,因为在搜索错误字符串“找不到设备的挂载点”时,在找到的任何搜索命中均未解决该问题。

背景:

  • 在Google Cloud Platform上运行的Debian 8.11
  • 5周前有运行中的Docker安装且运行了两个容器

突然意识到某种原因使集装箱坠毁。我能想到的唯一可能的远程原因是我删除了主机上的父文件夹,该子文件夹已映射为卷。另一个原因可能是附加的物理设备的安装。

无论如何,最终结果是尝试启动任何docker容器都导致在问题(“ mountpoint for devices not found”)中看到错误消息,并且没有进行任何重新引导(因此也没有对内核进行升级)。

我调试问题的步骤是

  1. 检查日志:journalctl -xn | less。确实没有包含太多其他信息
  2. 停止Docker守护程序(/etc/init.d/docker stop)。
  3. 添加/etc/docker/daemon.json唯一内容所在的文件{"debug": true}
  4. 尝试重新启动docker守护程序以查看失败
  5. 检查日志,该日志现在将包含更多信息

这些cgroup相关的错误导致了答案:

Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964631675Z" level=warning msg="Your kernel does not support cgroup memory limit"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964654637Z" level=warning msg="Unable to find cpu cgroup in mounts"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964667575Z" level=warning msg="Unable to find blkio cgroup in mounts"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964680057Z" level=warning msg="Unable to find cpuset cgroup in mounts"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964750643Z" level=warning msg="mountpoint for pids not found"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.980250151Z" level=debug msg="Cleaning up old mountid : start."
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: Error starting daemon: Devices cgroup isn't mounted

好,关于cgroups和安装的东西。这使我想到了可以在这种情况下应用的其他cgroup问题的解决方法,其中似乎有效的唯一命令是

  1. /etc/init.d/docker stop
  2. cgroupfs-mount
  3. /etc/init.d/docker start

现在,再次启动Docker时,日志仍然包含几行与cgroup相关的错误:

Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.258571633Z" level=warning msg="Your kernel does not support cgroup memory limit"
Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.258591020Z" level=warning msg="Unable to find cpu cgroup in mounts"
Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.258937091Z" level=warning msg="mountpoint for pids not found"

但是其中一半(blkiocpuset)不见了,更重要的是,下一行显示为:

Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.259420798Z" level=info msg="Loading containers: start."

最后

Unit docker.socket has finished starting up.

因此,基本上,重新安装cgroup可以解决此问题。无需重启。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.