lisaac / luci-app-dockerman

Docker Manager interface for LuCI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

昨天新编译后无法启动dockerd,请教问题出在哪里?

gztingting opened this issue · comments

x86-64 lean‘s openwrt昨天重新编译,无法启动docker,提示
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Dockerman只显示概览页,系统日志截取如下:
user.notice dockerd-init: Unable to get physical device for interface wan
daemon.err dockerd[5576]: time="2021-06-17T06:57:12.150206529Z" level=warning msg="grpc: addrConn.createTransport failed to connect to {unix:///var/run/docker/containerd/containerd.sock 0 }. Err :connection error: desc = "transport: error while dialing: dial unix:///var/run/docker/containerd/containerd.sock: timeout". Reconnecting..." module=grpc
daemon.err modprobe: failed to find a module named aufs
daemon.err dockerd[5576]: time="2021-06-17T06:57:12.985025905Z" level=warning msg="failed to load plugin io.containerd.snapshotter.v1.devmapper" error="devmapper not configured"
daemon.err dockerd[5576]: time="2021-06-17T06:57:12.985496797Z" level=warning msg="could not use snapshotter devmapper in metadata plugin" error="devmapper not configured"
daemon.err dockerd[5576]: time="2021-06-17T06:57:13.159750222Z" level=error msg="failed to mount overlay: invalid argument" storage-driver=overlay2
daemon.err dockerd[5576]: time="2021-06-17T06:57:13.159809846Z" level=error msg="exec: "fuse-overlayfs": executable file not found in $PATH" storage-driver=fuse-overlayfs
daemon.err modprobe: failed to find a module named aufs
daemon.err dockerd[5576]: time="2021-06-17T06:57:13.163875977Z" level=error msg="AUFS was not found in /proc/filesystems" storage-driver=aufs
daemon.err dockerd[5576]: time="2021-06-17T06:57:13.165310589Z" level=error msg="failed to mount overlay: invalid argument" storage-driver=overlay
daemon.err dockerd[5576]: time="2021-06-17T06:57:13.165323203Z" level=error msg="Failed to built-in GetDriver graph devicemapper /mnt/sda3/Docker"
kern.err kernel: [ 34.549195] overlayfs: filesystem on '/mnt/sda3/Docker/check-overlayfs-support563574997/upper' not supported as upperdir
kern.err kernel: [ 34.554882] overlayfs: filesystem on '/mnt/sda3/Docker/check-overlayfs-support403829808/upper' not supported as upperdir
daemon.err dockerd[5576]: time="2021-06-17T06:57:13.180033257Z" level=warning msg="Your kernel does not support cgroup blkio weight"
daemon.err dockerd[5576]: time="2021-06-17T06:57:13.180057726Z" level=warning msg="Your kernel does not support cgroup blkio weight_device"
daemon.err dockerd[5576]: time="2021-06-17T06:57:14.181540856Z" level=warning msg="grpc: addrConn.createTransport failed to connect to {unix:///var/run/docker/containerd/containerd.sock 0 }. Err :connection error: desc = "transport: Error while dialing dial unix:///var/run/docker/containerd/containerd.sock: timeout". Reconnecting..." module=grpc
daemon.err dockerd[5576]: failed to start daemon: Devices cgroup isn't mounted

内核日志有关的两行如下:
[34.549195] overlayfs: filesystem on '/mnt/sda3/Docker/check-overlayfs-support563574997/upper' not supported as upperdir
[34.554882] overlayfs: filesystem on '/mnt/sda3/Docker/check-overlayfs-support403829808/upper' not supported as upperdir

在概览页重新开关Docker Daemon后,系统日志是差不多的,估计是一样的问题:
daemon.err uhttpd[3275]: Command failed: Not found
user.notice dockerd-init: Unable to get physical device for interface wan
daemon.err modprobe: failed to find a module named aufs
daemon.err dockerd[9871]: time="2021-06-17T07:17:23.171680403Z" level=warning msg="failed to load plugin io.containerd.snapshotter.v1.devmapper" error="devmapper not configured"
daemon.err dockerd[9871]: time="2021-06-17T07:17:23.171965119Z" level=warning msg="could not use snapshotter devmapper in metadata plugin" error="devmapper not configured"
daemon.err dockerd[9871]: time="2021-06-17T07:17:23.180884453Z" level=error msg="failed to mount overlay: invalid argument" storage-driver=overlay2
daemon.err dockerd[9871]: time="2021-06-17T07:17:23.180935901Z" level=error msg="exec: "fuse-overlayfs": executable file not found in $PATH" storage-driver=fuse-overlayfs
daemon.err modprobe: failed to find a module named aufs
daemon.err dockerd[9871]: time="2021-06-17T07:17:23.185525607Z" level=error msg="AUFS was not found in /proc/filesystems" storage-driver=aufs
daemon.err dockerd[9871]: time="2021-06-17T07:17:23.186936588Z" level=error msg="failed to mount overlay: invalid argument" storage-driver=overlay
daemon.err dockerd[9871]: time="2021-06-17T07:17:23.186949264Z" level=error msg="Failed to built-in GetDriver graph devicemapper /mnt/sda3/Docker"
kern.err kernel: [ 1244.558309] overlayfs: filesystem on '/mnt/sda3/Docker/check-overlayfs-support814733071/upper' not supported as upperdir
kern.err kernel: [ 1244.564456] overlayfs: filesystem on '/mnt/sda3/Docker/check-overlayfs-support273798434/upper' not supported as upperdir
daemon.err dockerd[9871]: time="2021-06-17T07:17:23.197700846Z" level=warning msg="Your kernel does not support cgroup blkio weight"
daemon.err dockerd[9871]: time="2021-06-17T07:17:23.197723849Z" level=warning msg="Your kernel does not support cgroup blkio weight_device"
daemon.err dockerd[9871]: failed to start daemon: Devices cgroup isn't mounted

请教老大,我这是openwrt编译时缺了某个组件,还是哪里设置出了问题?求助如何设置。

Devices cgroup isn't mounted

请用https://raw.githubusercontent.com/coreos/docker/master/contrib/check-config.sh 检查内核模块是否完备

check-config.sh在openwrt下无法运行呢
env: can't execute 'bash': No such file or directory

貌似openwrt下的busybox支持ash、hush、msh三种shell,但是不支持bash

check-config.sh在openwrt下无法运行呢
env: can't execute 'bash': No such file or directory

貌似openwrt下的busybox支持ash、hush、msh三种shell,但是不支持bash

这个自行解决吧

我注意到日志里有这条failed to connect to {unix:///var/run/docker/containerd/containerd.sock
实质应该连接的sock是unix:///var/run/docker.sock
containerd.sock和docker.sock的区别,但是不知道在哪里出错了,自动连接了containerd.sock。设置里面明明是unix:///var/run/docker.sock这个

我注意到日志里有这条failed to connect to {unix:///var/run/docker/containerd/containerd.sock
实质应该连接的sock是unix:///var/run/docker.sock
containerd.sock和docker.sock的区别,但是不知道在哪里出错了,自动连接了containerd.sock。设置里面明明是unix:///var/run/docker.sock这个

containerd 是比 docker 更底层的,不和 dockerman 直接沟通,你是由于无法链接 containerd,导致 docker daemon 起不来