lisaac/luci-in-docker

使用 ``` lisaac/luci:nano ``` 镜像安装 ``` luci-app-dockerman ``` 插件出现 ``` module 'luci.docker' not found ``` 问题

signigelchan opened this issue · 2 comments

如题,使用骨架 lisaac/luci:nano 拉取 dockerman 镜像,安装后浏览器打开 luci web 出现错误。

以下是记录的 插件安装过程浏览器访问报错 日志:

插件安装过程:

instuser@inst-orac-e8ade90b:~$ docker restart luci-dkr 
luci-dkr

instuser@inst-orac-e8ade90b:~$ docker logs -n 30 -f luci-dkr 
2022-03-27 11:04:37 Starting uhttpd..
sh: /etc/init.d/sysfixtime: not found
Cloning into '/external/plugin/luci-app-diskman'...
Cloning into '/external/plugin/luci-app-dockerman'...
2022-03-27 11:11:36 Linking config..
2022-03-27 11:11:36 Linking rc.local..
2022-03-27 11:11:36 Linking crontab..
2022-03-27 11:11:37 Updating shadow..
2022-03-27 11:11:37 MERGING LUCI ROOT..
2022-03-27 11:11:37 MERGING INTERNAL PLUGIN..
2022-03-27 11:11:37 Merging plugin /internal/plugin/000luci/000luci-bin..
2022-03-27 11:11:37 Merging plugin /internal/plugin/000luci/luci-base..
2022-03-27 11:11:37 Merging plugin /internal/plugin/000luci/luci-compat..
2022-03-27 11:11:37 Merging plugin /internal/plugin/000luci/luci-fake-ubus..
2022-03-27 11:11:37 Merging plugin /internal/plugin/000luci/luci-lib-base..
2022-03-27 11:11:37 Merging plugin /internal/plugin/000luci/luci-lib-httpclient..
2022-03-27 11:11:37 Merging plugin /internal/plugin/000luci/luci-lib-httpprotoutils..
2022-03-27 11:11:37 Merging plugin /internal/plugin/000luci/luci-lib-json..
2022-03-27 11:11:37 Merging plugin /internal/plugin/000luci/luci-lib-scripts..
2022-03-27 11:11:37 Merging plugin /internal/plugin/000luci/luci-mod-plugin..
2022-03-27 11:11:38 Merging plugin /internal/plugin/000luci/luci-mod-status..
2022-03-27 11:11:38 Merging plugin /internal/plugin/000luci/luci-mod-system..
2022-03-27 11:11:38 Merging plugin /internal/plugin/000luci/luci-socket-forwarder..
2022-03-27 11:11:38 Merging plugin /internal/plugin/000luci/luci-theme-bootstrap..
2022-03-27 11:11:38 	Executing uci-defaults script..
2022-03-27 11:11:38 Merging plugin /internal/plugin/000luci/luci-theme-openwrt-2020..
2022-03-27 11:11:38 	Executing uci-defaults script..
2022-03-27 11:11:38 MERGING EXTERNAL PLUGIN..
2022-03-27 11:11:38 Merging plugin /external/plugin/luci-app-diskman/applications/luci-app-diskman..
2022-03-27 11:11:39 	Installing depends:  e2fsprogs parted smartmontools blkid mdadm btrfs-progs util-linux ..
(1/39) Installing libblkid (2.37.4-r0)
(2/39) Installing blkid (2.37.4-r0)
(3/39) Installing lzo (2.10-r2)
(4/39) Installing eudev-libs (3.2.11_pre1-r0)
(5/39) Installing libuuid (2.37.4-r0)
(6/39) Installing zstd-libs (1.5.0-r0)
(7/39) Installing btrfs-progs (5.15.1-r0)
(8/39) Installing libcom_err (1.46.4-r0)
(9/39) Installing e2fsprogs-libs (1.46.4-r0)
(10/39) Installing e2fsprogs (1.46.4-r0)
(11/39) Installing libmount (2.37.4-r0)
(12/39) Installing libsmartcols (2.37.4-r0)
(13/39) Installing lsblk (2.37.4-r0)
(14/39) Installing mdadm (4.1-r4)
(15/39) Installing device-mapper-libs (2.02.187-r2)
(16/39) Installing ncurses-terminfo-base (6.3_p20211120-r0)
(17/39) Installing ncurses-libs (6.3_p20211120-r0)
(18/39) Installing readline (8.1.1-r0)
(19/39) Installing parted (3.4-r0)
(20/39) Installing libstdc++ (10.3.1_git20211027-r0)
(21/39) Installing smartmontools (7.2-r1)
(22/39) Installing util-linux (2.37.4-r0)
(23/39) Installing libeconf (0.4.2-r0)
(24/39) Installing libfdisk (2.37.4-r0)
(25/39) Installing util-linux-misc (2.37.4-r0)
(26/39) Installing linux-pam (1.5.2-r0)
(27/39) Installing runuser (2.37.4-r0)
(28/39) Installing hexdump (2.37.4-r0)
(29/39) Installing uuidgen (2.37.4-r0)
(30/39) Installing sfdisk (2.37.4-r0)
(31/39) Installing mcookie (2.37.4-r0)
(32/39) Installing wipefs (2.37.4-r0)
(33/39) Installing cfdisk (2.37.4-r0)
(34/39) Installing flock (2.37.4-r0)
(35/39) Installing libcap-ng (0.8.2-r1)
(36/39) Installing setpriv (2.37.4-r0)
(37/39) Installing logger (2.37.4-r0)
(38/39) Installing partx (2.37.4-r0)
(39/39) Installing findmnt (2.37.4-r0)
Executing busybox-1.34.1-r3.trigger
OK: 40 MiB in 66 packages
2022-03-27 11:11:50 Merging plugin /external/plugin/luci-app-dockerman/applications/luci-app-dockerman..
2022-03-27 11:11:51 	Installing depends:  ttyd docker-cli ..
(1/5) Installing docker-cli (20.10.14-r0)
(2/5) Installing libuv (1.42.0-r0)
(3/5) Installing libwebsockets (4.3.0-r0)
(4/5) Installing libwebsockets-evlib_uv (4.3.0-r0)
(5/5) Installing ttyd (1.6.3-r3)
Executing busybox-1.34.1-r3.trigger
OK: 91 MiB in 71 packages
2022-03-27 11:11:54 	Executing postinst..
2022-03-27 11:11:54 Linking rc.common..
2022-03-27 11:11:54 Linking /www..
2022-03-27 11:11:54 Creating nobody session..
2022-03-27 11:11:54 Handle Hostname..
2022-03-27 11:11:54 Executing rc.local..
2022-03-27 11:11:54 Starting crond..
2022-03-27 11:11:54 Starting uhttpd..

浏览器访问报错:

/tmp/.luci/usr/lib/lua/luci/model/docker.lua:6: module 'luci.docker' not found:
    no field package.preload['luci.docker']
    no file '/tmp/.luci/usr/lib/lua/luci/docker.lua'
    no file '/tmp/.luci/usr/lib/lua/luci/docker/init.lua'
    no file './luci/docker.lua'
    no file '/usr/local/share/lua/5.1/luci/docker.lua'
    no file '/usr/local/share/lua/5.1/luci/docker/init.lua'
    no file '/usr/local/lib/lua/5.1/luci/docker.lua'
    no file '/usr/local/lib/lua/5.1/luci/docker/init.lua'
    no file '/usr/share/lua/5.1/luci/docker.lua'
    no file '/usr/share/lua/5.1/luci/docker/init.lua'
    no file '/usr/share/lua/common/luci/docker.lua'
    no file '/usr/share/lua/common/luci/docker/init.lua'
    no file '/tmp/.luci/usr/lib/lua/luci/docker.so'
    no file './luci/docker.so'
    no file '/usr/local/lib/lua/5.1/luci/docker.so'
    no file '/usr/lib/lua/5.1/luci/docker.so'
    no file '/usr/local/lib/lua/5.1/loadall.so'
    no file '/tmp/.luci/usr/lib/lua/luci.so'
    no file './luci.so'
    no file '/usr/local/lib/lua/5.1/luci.so'
    no file '/usr/lib/lua/5.1/luci.so'
    no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
    [C]: in function 'require'
    /tmp/.luci/usr/lib/lua/luci/model/docker.lua:6: in main chunk
    [C]: in function 'require'
    /tmp/.luci/usr/lib/lua/luci/controller/dockerman.lua:6: in main chunk
    [C]: in function 'require'
    /tmp/.luci/usr/lib/lua/luci/dispatcher.lua:1142: in function 'createindex'
    /tmp/.luci/usr/lib/lua/luci/dispatcher.lua:1242: in function 'createtree'
    /tmp/.luci/usr/lib/lua/luci/dispatcher.lua:732: in function 'menu_json'
    /tmp/.luci/usr/lib/lua/luci/dispatcher.lua:833: in function 'dispatch'
    /tmp/.luci/usr/lib/lua/luci/dispatcher.lua:483: in function </tmp/.luci/usr/lib/lua/luci/dispatcher.lua:482>

备注

  1. 使用中发现,拉取插件过程查看日志,没有出现自动安装相关依赖,尝试 重启镜像 后才开始安装。
  2. WSL 2 子系统下 docker 运行此镜像挂载主机目录,提示以下异常:( 可能是 WSL 2 的 Linux 内核不支持 Subtree mounts )
instuser@CHANYOGA:/home/instuser/AppData$ docker run -d \
>   --name luci-dkr \
>   -p 127.0.0.1:17280:80 \
>   -p 127.0.0.1:17281:7682 \
>   -e TZ=Asia/Shanghai \
>   --privileged \
>   -v $PWD/luci-dkr:/external:rslave \
>   -v /dev:/dev:rslave \
>   -v /var/run/docker.sock:/var/run/docker.sock \
>   --tmpfs /tmp:exec \
>   --tmpfs /run \
>   --restart unless-stopped \
>   lisaac/luci:nano
docker: Error response from daemon: path /home/instuser/AppData/luci-dkr is mounted on / but it is not a shared or slave mount.

'luci.docker' not found 问题已解决,缺少了 luci-lib-docker 依赖。

  1. 使用中发现,拉取插件过程查看日志,没有出现自动安装相关依赖,尝试 重启镜像 后才开始安装

的确会存在这种情况,目前对“安装”插件部分没有想到更好的办法,希望有能力的提供 pr