IstoreOS安装的1Panel无法安装应用,无法安装OpenResty,创建Docker提示文件不存在
这个路径:
/root/Configs/1Panel/1panel/apps/openresty/openresty/www
/root/Configs/1Panel/1panel/apps/openresty/openresty/1pwaf/data
/root/Configs/1Panel/1panel/apps/openresty/openresty/conf/fastcgi_params
/root/Configs/1Panel/1panel/apps/openresty/openresty/conf/nginx.conf
…
在1panel的容器内看是没问题的
因为这个路径是在容器内的,而要启动Openresty容器是在IstoreOS这个宿主机上,要宿主机上存在对应的文件才行
由于宿主机上没有对应的文件,所以启动失败了。下面是Docker在宿主机上自动创建的文件夹:
在IstoreOS上查看1panel的容器配置,可以发现端倪:
注意这个挂载:/root/Configs/1Panel:/iStorePanel
宿主机上的/root/Configs/1Panel 映射到1panel容器内的/iStorePanel
这个配置是在安装1Panel的时候设置的
那么就应该是这样:
1Panel应该使用很明显不可能,/iStorePanel
这个路径来存放配置文件,映射到宿主机的/root/Configs/1Panel
文件,启动docker的时候也能找到文件/iStorePanel
是Istore的目录,那么应该就是2- IstoreOS应该使用
/root/Configs/1Panel:/root/Configs/1Panel
这样的映射,保证两边都是一样的路径 - 对于1,可能可以设置
/root/Configs/1Panel/env
文件里的PANEL_BASE_DIR
为/iStorePanel
,但是启动容器时还是会找不到文件
按照这个思路两边搜索一下:
https://github.com/1Panel-dev/1Panel/discussions/5782
https://github.com/linkease/openwrt-app-actions/blob/24f01cb47525e2e8c0677ef0ec8563a1c8487348/applications/luci-app-istorepanel/root/usr/libexec/istorec/istorepanel.sh#L55
iStoreOS的1Panel安装脚本里映射到这个目录修改成:
-v “$config:/root/Configs/1Panel” "
补充:这个容器应该是istore自己封装的,/iStorePanel里面的env文件配置,是在执行
docker exec istorepanel /app/reinstall.sh
的时候使用的配置
https://github.com/linkease/openwrt-app-actions/blob/24f01cb47525e2e8c0677ef0ec8563a1c8487348/applications/luci-app-istorepanel/root/usr/libexec/istorec/istorepanel.sh#L81C7-L81C48
尝试了下fork后修改代码编译,安装不了
简单解决:IstoreOS的Docker配置里新增一个映射Docker-容器-编辑-先停止,再复制/编辑
直接修改挂载
新增一个/root/Configs/1Panel:/root/Configs/1Panel
,点击+号添加
此时记得先删除IstoreOS内的/root/Configs/1Panel/1panel
空文件夹
然后到最底下点提交。
可能要手动启动,确保挂载设置已经生效
docker ps
docker exec ID /app/reinstall.sh
进入1panel的应用商店,安装OpenResty。
此时宿主机也有相应文件了