Closed ywgf88 closed 3 months ago
密码明文保存在config.php文件中,你可以用docker exec命令进入容器修改。 你是直接拉镜像吗?为啥会出现这种情况😂
我是这样安装这个软件的: docker run -d \ --name php-epg \ -v /volume2/Public/php-edg/adata.db:/htdocs/epg/adata.db \ -v /volume2/Public/php-edg/config.php:/htdocs/epg/config.php \ -p 5678:80 \ --restart always \ taksss/php-epg:latest
我用docker container来查看epg的状态,发现是 healthy,不知道我的安装是不是有问题
config.php是空的
我试图用docker-compose去安装,但是一直报config.php不存在,还有adata.db不存在,这两个文件是需要我手动创建?还是会自动拉取到我的本地?
需要你自己创建,Docker挂载文件是把宿主机的文件挂载到容器中,所以需要本身存在这个文件本身。 要想持久化的话,你要先创建好这两个文件。 安装说明里面也写了,先拉取源代码,再运行。
docker run -d --name php-epg -v /vol ume2/Public/php-edg/adata.db:/htdocs/epg/adata.db -v /volume2/Public/php-edg/config.php:/htdocs/epg/config.php -p 5678:80 --re start always taksss/php-epg:latest Unable to find image 'taksss/php-epg:latest' locally latest: Pulling from taksss/php-epg c6a83fedfae6: Pull complete 01125a5cdd04: Pull complete 394178d7a536: Pull complete d094e72f5928: Pull complete 7359a657cb04: Pull complete d4565921cc9e: Pull complete Digest: sha256:473c0c9a53860678b6b688e5a3385fb578148db66f6b579f4adfdc6dd18fc8ce Status: Downloaded newer image for taksss/php-epg:latest 9c14b8130bc124e68e72fb1bc3c83bf36d4f9a3aca61b5acaba2c7c56f29af20 docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/volume2/Public/php-edg/config.php" to rootfs at "/htdocs/epg/config.php": mount /volume2/Public/php-edg/config.php:/htdocs/epg/config.php (via /proc/self/fd/6), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type. 安装过程中一直报这个错误
/volume2/Public/php-edg/adata.db
跟 /volume2/Public/php-edg/config.php
这两个文件存在么?
按照你的方法拉取镜像,然后安装,但是有个问题,拉取镜像后,镜像文件不在我当前目录,不知道拉取到哪里了,故每次安装,容器都是healthy的状态。
最后我用了一个很蠢的方法,把你的github下的文件打包下载到电脑,然后上传到我的docker服务器指定目录解压后,用docker-compose up 来安装,这样就不报错了。
最后一个问题:软件安装好了后,使用Tivimate来导入我的EPG地址:http://ip:5678/epg/index.php,Tivimate没有识别到一个节目,能否指导一下如何使用我新搭建的服务?
最后我用了一个很蠢的方法,把你的github下的文件打包下载到电脑,然后上传到我的docker服务器指定目录解压后,用docker-compose up 来安装,这样就不报错了。
这不是很蠢的方法啊,这就是正确使用方法。你看我后面写的使用说明,要实现持久化的话,第一步就是用 git clone
把源代码拉到本地,再做映射。
最后一个问题:软件安装好了后,使用Tivimate来导入我的EPG地址:http://ip:5678/epg/index.php,Tivimate没有识别到一个节目,能否指导一下如何使用我新搭建的服务?
直接将 http://ip:5678/epg/t.xml.gz
或者 http://ip:5678/epg/t.xml
填进去(取决于你在选项里面选了哪一个,其实后面的使用说明也有写)。
docker直接拉取部署需要拉项目里面config.php内容映射到容器才能启动。建议用户配置和程序默认配置分离,优先读取用户配置。同时建议配置文件剥离php相关语法。第一个建议就是当前issue的问题
docker直接拉取部署需要拉项目里面config.php内容映射到容器才能启动。建议用户配置和程序默认配置分离,优先读取用户配置。同时建议配置文件剥离php相关语法。第一个建议就是当前issue的问题
其实将配置直接整合进数据库是个好的选择么?当然最简单是换成标准的json串。 如果剥离的话,一般是将空文件夹映射进Docker里面,然后配置放到这个文件夹里面映射出来么?不过感觉也没本质区别啊。 其实我自己用的时候,都是直接运行空镜像,再把EPG地址复制进去,更新就好了。
接拉取部署需要拉项目里面config.php内容映射到容器才能启动。建议用户配置和程序默认配置分离,优先读取用户配置。同时建议配置文件剥离php相关语法。第一个建议就是当前issue的
第一次空的config.php映射到容器会报错,启动不了,也就是现在容器直接run的这种方式第一次跑起来不太顺畅。项目很优秀
接拉取部署需要拉项目里面config.php内容映射到容器才能启动。建议用户配置和程序默认配置分离,优先读取用户配置。同时建议配置文件剥离php相关语法。第一个建议就是当前issue的
第一次空的config.php映射到容器会报错,启动不了,也就是现在容器直接run的这种方式第一次跑起来不太顺畅。项目很优秀
不需要数据持久化的话,会直接使用自带的config文件,不会出现这个报错。我下个版本改一下,如果config文件为空,密码也为空吧。