Guovin / TV

📺IPTV电视直播源更新工具🚀:包含💰央视(付费)、📡卫视、🏠广东、🌊港·澳·台、🎬电影、🎥咪咕、🏀体育、🪁动画、🎮游戏、🎵音乐、🏛经典剧场;支持自定义增加频道(含图标);支持组播源、酒店源、订阅源、线上检索;每天自动更新两次,结果可用于TVBox等播放软件;支持工作流、Docker(amd64/arm64)、命令行、软件界面多种部署/运行方式 | IPTV live TV source update tool
MIT License
1.81k stars 596 forks source link

docker容器闪退 #438

Open snowdream opened 2 hours ago

snowdream commented 2 hours ago

在爱快 docker 上运行tv-driver,运行命令类似。

docker run -v /etc/docker/config:/tv-driver/config -v /etc/docker/output:/tv-driver/output -d -p 8000:8000 guovern/tv-driver

闪退,日志如下:

cron: unrecognized service
/tv-driver/updates/fofa/request.py:73: TqdmMonitorWarning: tqdm:disabling monitor support (monitor_interval = 0) due to:
can't start new thread
pbar = tqdm_asyncio(
Processing fofa for hotel: 0% 0/45 [00:00<?, ?it/s]Traceback (most recent call last):
File "/tv-driver/main.py", line 273, in <module>
scheduled_task()
File "/tv-driver/main.py", line 259, in scheduled_task
loop.run_until_complete(update_source.start())
File "/usr/local/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
return future.result()
File "/tv-driver/main.py", line 244, in start
await self.main()
File "/tv-driver/main.py", line 148, in main
await self.visit_page(channel_names)
File "/tv-driver/main.py", line 117, in visit_page
setattr(self, result_attr, await task)
File "/tv-driver/updates/fofa/request.py", line 155, in get_channels_by_fofa
futures = [
File "/tv-driver/updates/fofa/request.py", line 156, in <listcomp>
executor.submit(process_fofa_channels, fofa_url) for fofa_url in fofa_urls
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 188, in submit
self._adjust_thread_count()
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 213, in _adjust_thread_count
t.start()
File "/usr/local/lib/python3.8/threading.py", line 852, in start
_start_new_thread(self._bootstrap, ())
RuntimeError: can't start new thread
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/root/.local/share/virtualenvs/tv-driver-D9SmWF1i/lib/python3.8/site-packages/tqdm/_monitor.py", line 44, in exit
self.join()
File "/usr/local/lib/python3.8/threading.py", line 1006, in join
raise RuntimeError("cannot join thread before it is started")
RuntimeError: cannot join thread before it is started
Processing fofa for hotel: 0% 0/45 [00:00<?, ?it/s]
/tv_entrypoint.sh: line 15: gunicorn: command not found
cron: unrecognized service
/tv-driver/updates/fofa/request.py:73: TqdmMonitorWarning: tqdm:disabling monitor support (monitor_interval = 0) due to:
can't start new thread
pbar = tqdm_asyncio(
Processing fofa for hotel: 0% 0/45 [00:00<?, ?it/s]Traceback (most recent call last):
File "/tv-driver/main.py", line 273, in <module>
scheduled_task()
File "/tv-driver/main.py", line 259, in scheduled_task
loop.run_until_complete(update_source.start())
File "/usr/local/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
return future.result()
File "/tv-driver/main.py", line 244, in start
await self.main()
File "/tv-driver/main.py", line 148, in main
await self.visit_page(channel_names)
File "/tv-driver/main.py", line 117, in visit_page
setattr(self, result_attr, await task)
File "/tv-driver/updates/fofa/request.py", line 155, in get_channels_by_fofa
futures = [
File "/tv-driver/updates/fofa/request.py", line 156, in <listcomp>
executor.submit(process_fofa_channels, fofa_url) for fofa_url in fofa_urls
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 188, in submit
self._adjust_thread_count()
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 213, in _adjust_thread_count
t.start()
File "/usr/local/lib/python3.8/threading.py", line 852, in start
_start_new_thread(self._bootstrap, ())
RuntimeError: can't start new thread
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/root/.local/share/virtualenvs/tv-driver-D9SmWF1i/lib/python3.8/site-packages/tqdm/_monitor.py", line 44, in exit
self.join()
File "/usr/local/lib/python3.8/threading.py", line 1006, in join
raise RuntimeError("cannot join thread before it is started")
RuntimeError: cannot join thread before it is started
Processing fofa for hotel: 0% 0/45 [00:00<?, ?it/s]
/tv_entrypoint.sh: line 15: gunicorn: command not found
cron: unrecognized service
/tv-driver/updates/fofa/request.py:73: TqdmMonitorWarning: tqdm:disabling monitor support (monitor_interval = 0) due to:
can't start new thread
pbar = tqdm_asyncio(
Processing fofa for hotel: 0% 0/45 [00:00<?, ?it/s]Traceback (most recent call last):
File "/tv-driver/main.py", line 273, in <module>
scheduled_task()
File "/tv-driver/main.py", line 259, in scheduled_task
loop.run_until_complete(update_source.start())
File "/usr/local/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
return future.result()
File "/tv-driver/main.py", line 244, in start
await self.main()
File "/tv-driver/main.py", line 148, in main
await self.visit_page(channel_names)
File "/tv-driver/main.py", line 117, in visit_page
setattr(self, result_attr, await task)
File "/tv-driver/updates/fofa/request.py", line 155, in get_channels_by_fofa
futures = [
File "/tv-driver/updates/fofa/request.py", line 156, in <listcomp>
executor.submit(process_fofa_channels, fofa_url) for fofa_url in fofa_urls
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 188, in submit
self._adjust_thread_count()
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 213, in _adjust_thread_count
t.start()
File "/usr/local/lib/python3.8/threading.py", line 852, in start
_start_new_thread(self._bootstrap, ())
RuntimeError: can't start new thread
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/root/.local/share/virtualenvs/tv-driver-D9SmWF1i/lib/python3.8/site-packages/tqdm/_monitor.py", line 44, in exit
self.join()
File "/usr/local/lib/python3.8/threading.py", line 1006, in join
raise RuntimeError("cannot join thread before it is started")
RuntimeError: cannot join thread before it is started
Processing fofa for hotel: 0% 0/45 [00:00<?, ?it/s]
/tv_entrypoint.sh: line 15: gunicorn: command not found
Guovin commented 2 hours ago

看起来是docker无法支持创建多线程的原因,检查下你的docker版本、容器系统版本信息,以便我分析解决

snowdream commented 1 hour ago

爱快系统上的 Docker 插件,没法判断版本: https://www.ikuai8.com/index.php?option=com_content&view=article&id=679&Itemid=522

拉取的是最新镜像:guovern/tv-driver:latest