P3TERX / Aria2-Pro-Docker

Aria2 Pro | A perfect Aria2 Docker image | 更好用的 Aria2 Docker 容器镜像
https://hub.docker.com/r/p3terx/aria2-pro
MIT License
3.19k stars 375 forks source link

docker启动后自动退出提示No files to download #157

Open pansila opened 7 months ago

pansila commented 7 months ago

使用latest tag和仓库推荐的compose文件,启动容器后发现aria2自动退出,容器反复重启 image 从log看没有什么错误消息,只有一句"No files to donwload"。

难道是我理解有误,我以为这个docker是作为守护进程一直后台运行监听RPC请求的。这样的话aria2启动要带上--enable-rpc参数,可是现在docker里面是仅仅是aria2c --conf-path=/config/aria2.conf,然后没有下载请求所以直接退出了,导致docker反复重启,这样有何意义?

pansila commented 7 months ago

在"aria2.conf"中添加enable-rpc=true后aria2-pro可以一直后台运行而不重启了,虽然不知道为啥这不是默认打开的。

补充: 对比了下我的docker里面自动生成的aria2.conf和aria2.conf仓库里的配置,发现后面一小段丢了(rpc设置就在这),不知道是不是bug。这里附上希望作者看到。 aria2.txt

pansila commented 7 months ago

搜了下跟#99 这个问题一样,另一个类似的是#115,可能是第一次启动时下载配置文件出错了(curl timeout),残留了不完整的aria2.conf。特别是这个配置最后有个enable-rpc的选项,如果没有的话,aria2就是一次性启动并下载,而不是在后台监听rpc,由于没有实际传入下载连接,会导致看到的现象就是启动后马上退出,然后docker不停重启。

另一种可能是下载没问题,后续conversion替换有某些bug把文件破坏了。

pansila commented 7 months ago

虽然不清楚为啥会出现文件破损,但是也许可以加强下检查,比如在init-base里面有很多conversion修改,可以在sed的时候判读下是否替换成功,否则可能就出现了配置项缺少,意味着文件残缺,继续retry download。

PS: 一个sed检查替换是否成功的办法