这是什么问题,怎么修改这个问题
[+] Running 1/2gged multidoc_scanner_new-api:latest
✔ Service api Built 206.7s
⠋ Service worker Building 0.0s
Step 1/9 : FROM python:3.11
---> 916e252c0f56
Step 2/9 : WORKDIR /home/project
---> Using cache
---> ffa859d1cc24
Step 3/9 : ENV PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_PROGRESS_BAR=off PIP_DEFAULT_TIMEOUT=60
---> Using cache
---> 5d291c971b43
Step 4/9 : COPY mirrors/requirements.txt /tmp/requirements.txt
---> Using cache
---> 32894983500f
Step 5/9 : RUN python -m pip install --no-cache-dir -r /tmp/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
---> Using cache
---> dcbd0dff62b1
Step 6/9 : COPY . /home/project
---> Using cache
---> 9e07a4375441
Step 7/9 : RUN chmod +x /home/project/docker-entrypoint.sh && mkdir -p /home/project/services/temp_conversion_files && chmod 777 /home/project/services/temp_conversion_files
---> Using cache
---> e8ee8a645780
Step 8/9 : ENTRYPOINT ["/bin/bash", "docker-entrypoint.sh"]
---> Using cache
---> 583c92710450
Step 9/9 : LABEL com.docker.compose.image.builder=classic
---> Using cache
[+] Running 6/660e
✔ Service api Built 206.7s
✔ Service worker Built 0.1s
✔ api Built 0.0s
✔ worker Built 0.0s
✔ Container multidoc_scanner_api Recreated 0.0s
✔ Container multidoc_scanner_new-worker-1 Recreated 0.0s
Attaching to multidoc_scanner_api, worker-1
multidoc_scanner_api | ==========================================
multidoc_scanner_api | MultiDoc Scanner Service
multidoc_scanner_api | ==========================================
multidoc_scanner_api | CODE_ENV: dev
multidoc_scanner_api | SERVICE_TYPE: api
multidoc_scanner_api | ==========================================
multidoc_scanner_api | 🚀 Starting FastAPI Service...
multidoc_scanner_api | Workers: 1
multidoc_scanner_api | ==========================================
multidoc_scanner_api | INFO: Started server process [1]
multidoc_scanner_api | INFO: Waiting for application startup.
multidoc_scanner_api | INFO: Application startup complete.
multidoc_scanner_api | INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
worker-1 | ==========================================
worker-1 | MultiDoc Scanner Service
worker-1 | ==========================================
worker-1 | CODE_ENV: dev
worker-1 | SERVICE_TYPE: worker
worker-1 | ==========================================
worker-1 | ⚙️ Starting Task Worker Service...
worker-1 | ==========================================
worker-1 | 当前环境变量 CODE_ENV=dev, 需要读取 /home/project/conf/dev.toml
worker-1 | 2025-10-31 06:26:42.379 | WARNING | services.vision_model:__init__:61 - Volcengine SDK 未安装,使用HTTP方式调用API
worker-1 | Traceback (most recent call last):
worker-1 | File "/home/project/worker.py", line 11, in <module>
worker-1 | from apps.workers.task_worker import TaskWorker
worker-1 | File "/home/project/apps/workers/task_worker.py", line 18, in <module>
worker-1 | from apps.workers.main import process_files_urls
worker-1 | File "/home/project/apps/workers/main.py", line 13, in <module>
worker-1 | from services.logics import document_processing_service
worker-1 | File "/home/project/services/logics.py", line 16, in <module>
worker-1 | from services.convert_files_service import convert_files_service
worker-1 | File "/home/project/services/convert_files_service.py", line 15, in <module>
worker-1 | from tools.pdf_converter import convert_pdf_to_images
worker-1 | File "/home/project/tools/pdf_converter.py", line 15, in <module>
worker-1 | from tools.pdf_split_table_detector import SplitTableDetector
worker-1 | File "/home/project/tools/pdf_split_table_detector.py", line 4, in <module>
worker-1 | import cv2
worker-1 | File "/usr/local/lib/python3.11/site-packages/cv2/__init__.py", line 181, in <module>
worker-1 | bootstrap()
worker-1 | File "/usr/local/lib/python3.11/site-packages/cv2/__init__.py", line 153, in bootstrap
worker-1 | native_module = importlib.import_module("cv2")
worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
worker-1 | File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
worker-1 | return _bootstrap._gcd_import(name[level:], package, level)
worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
worker-1 | ImportError: libGL.so.1: cannot open shared object file: No such file or directory
worker-1 exited with code 1 (restarting)
worker-1 | 当前环境变量 CODE_ENV=dev, 需要读取 /home/project/conf/dev.toml
worker-1 | 2025-10-31 06:26:43.826 | WARNING | services.vision_model:__init__:61 - Volcengine SDK 未安装,使用HTTP方式调用API
worker-1 | Traceback (most recent call last):
worker-1 | File "/home/project/worker.py", line 11, in <module>
worker-1 | from apps.workers.task_worker import TaskWorker
worker-1 | File "/home/project/apps/workers/task_worker.py", line 18, in <module>
worker-1 | from apps.workers.main import process_files_urls
worker-1 | File "/home/project/apps/workers/main.py", line 13, in <module>
worker-1 | from services.logics import document_processing_service
worker-1 | File "/home/project/services/logics.py", line 16, in <module>
worker-1 | from services.convert_files_service import convert_files_service
worker-1 | File "/home/project/services/convert_files_service.py", line 15, in <module>
worker-1 | from tools.pdf_converter import convert_pdf_to_images
worker-1 | File "/home/project/tools/pdf_converter.py", line 15, in <module>
worker-1 | from tools.pdf_split_table_detector import SplitTableDetector
worker-1 | File "/home/project/tools/pdf_split_table_detector.py", line 4, in <module>
worker-1 | import cv2
worker-1 | File "/usr/local/lib/python3.11/site-packages/cv2/__init__.py", line 181, in <module>
worker-1 | bootstrap()
worker-1 | File "/usr/local/lib/python3.11/site-packages/cv2/__init__.py", line 153, in bootstrap
worker-1 | native_module = importlib.import_module("cv2")
worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
worker-1 | File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
worker-1 | return _bootstrap._gcd_import(name[level:], package, level)
worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
worker-1 | ImportError: libGL.so.1: cannot open shared object file: No such file or directory
worker-1 exited with code 1 (restarting)
worker-1 | 当前环境变量 CODE_ENV=dev, 需要读取 /home/project/conf/dev.toml
worker-1 | 2025-10-31 06:26:45.336 | WARNING | services.vision_model:__init__:61 - Volcengine SDK 未安装,使用HTTP方式调用API
worker-1 | Traceback (most recent call last):
worker-1 | File "/home/project/worker.py", line 11, in <module>
worker-1 | from apps.workers.task_worker import TaskWorker
worker-1 | File "/home/project/apps/workers/task_worker.py", line 18, in <module>
worker-1 | from apps.workers.main import process_files_urls
worker-1 | File "/home/project/apps/workers/main.py", line 13, in <module>
worker-1 | from services.logics import document_processing_service
worker-1 | File "/home/project/services/logics.py", line 16, in <module>
worker-1 | from services.convert_files_service import convert_files_service
worker-1 | File "/home/project/services/convert_files_service.py", line 15, in <module>
worker-1 | from tools.pdf_converter import convert_pdf_to_images
worker-1 | File "/home/project/tools/pdf_converter.py", line 15, in <module>
worker-1 | from tools.pdf_split_table_detector import SplitTableDetector
worker-1 | File "/home/project/tools/pdf_split_table_detector.py", line 4, in <module>
worker-1 | import cv2
worker-1 | File "/usr/local/lib/python3.11/site-packages/cv2/__init__.py", line 181, in <module>
worker-1 | bootstrap()
worker-1 | File "/usr/local/lib/python3.11/site-packages/cv2/__init__.py", line 153, in bootstrap
worker-1 | native_module = importlib.import_module("cv2")
worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
worker-1 | File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
worker-1 | return _bootstrap._gcd_import(name[level:], package, level)
worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
worker-1 | ImportError: libGL.so.1: cannot open shared object file: No such file or directory
worker-1 exited with code 1 (restarting)
worker-1 | 当前环境变量 CODE_ENV=dev, 需要读取 /home/project/conf/dev.toml
worker-1 | 2025-10-31 06:26:47.041 | WARNING | services.vision_model:__init__:61 - Volcengine SDK 未安装,使用HTTP方式调用API
worker-1 | Traceback (most recent call last):
worker-1 | File "/home/project/worker.py", line 11, in <module>
worker-1 | from apps.workers.task_worker import TaskWorker
worker-1 | File "/home/project/apps/workers/task_worker.py", line 18, in <module>
worker-1 | from apps.workers.main import process_files_urls
worker-1 | File "/home/project/apps/workers/main.py", line 13, in <module>
worker-1 | from services.logics import document_processing_service
worker-1 | File "/home/project/services/logics.py", line 16, in <module>
worker-1 | from services.convert_files_service import convert_files_service
worker-1 | File "/home/project/services/convert_files_service.py", line 15, in <module>
worker-1 | from tools.pdf_converter import convert_pdf_to_images
worker-1 | File "/home/project/tools/pdf_converter.py", line 15, in <module>
worker-1 | from tools.pdf_split_table_detector import SplitTableDetector
worker-1 | File "/home/project/tools/pdf_split_table_detector.py", line 4, in <module>
worker-1 | import cv2
worker-1 | File "/usr/local/lib/python3.11/site-packages/cv2/__init__.py", line 181, in <module>
worker-1 | bootstrap()
worker-1 | File "/usr/local/lib/python3.11/site-packages/cv2/__init__.py", line 153, in bootstrap
worker-1 | native_module = importlib.import_module("cv2")
worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
worker-1 | File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
worker-1 | return _bootstrap._gcd_import(name[level:], package, level)
worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
worker-1 | ImportError: libGL.so.1: cannot open shared object file: No such file or directory
worker-1 exited with code 1 (restarting)
worker-1 | 当前环境变量 CODE_ENV=dev, 需要读取 /home/project/conf/dev.toml
worker-1 | 2025-10-31 06:26:49.124 | WARNING | services.vision_model:__init__:61 - Volcengine SDK 未安装,使用HTTP方式调用API
worker-1 | Traceback (most recent call last):
worker-1 | File "/home/project/worker.py", line 11, in <module>
worker-1 | from apps.workers.task_worker import TaskWorker
worker-1 | File "/home/project/apps/workers/task_worker.py", line 18, in <module>
worker-1 | from apps.workers.main import process_files_urls
worker-1 | File "/home/project/apps/workers/main.py", line 13, in <module>
worker-1 | from services.logics import document_processing_service
worker-1 | File "/home/project/services/logics.py", line 16, in <module>
worker-1 | from services.convert_files_service import convert_files_service
worker-1 | File "/home/project/services/convert_files_service.py", line 15, in <module>
worker-1 | from tools.pdf_converter import convert_pdf_to_images
worker-1 | File "/home/project/tools/pdf_converter.py", line 15, in <module>
worker-1 | from tools.pdf_split_table_detector import SplitTableDetector
worker-1 | File "/home/project/tools/pdf_split_table_detector.py", line 4, in <module>
worker-1 | import cv2
worker-1 | File "/usr/local/lib/python3.11/site-packages/cv2/__init__.py", line 181, in <module>
worker-1 | bootstrap()
worker-1 | File "/usr/local/lib/python3.11/site-packages/cv2/__init__.py", line 153, in bootstrap
worker-1 | native_module = importlib.import_module("cv2")
worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
worker-1 | File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
worker-1 | return _bootstrap._gcd_import(name[level:], package, level)
worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
worker-1 | ImportError: libGL.so.1: cannot open shared object file: No such file or directory
worker-1 exited with code 1 (restarting)
worker-1 | 当前环境变量 CODE_ENV=dev, 需要读取 /home/project/conf/dev.toml
worker-1 | 2025-10-31 06:26:52.004 | WARNING | services.vision_model:__init__:61 - Volcengine SDK 未安装,使用HTTP方式调用API
worker-1 | Traceback (most recent call last):
worker-1 | File "/home/project/worker.py", line 11, in <module>
worker-1 | from apps.workers.task_worker import TaskWorker
worker-1 | File "/home/project/apps/workers/task_worker.py", line 18, in <module>
worker-1 | from apps.workers.main import process_files_urls
worker-1 | File "/home/project/apps/workers/main.py", line 13, in <module>
worker-1 | from services.logics import document_processing_service
worker-1 | File "/home/project/services/logics.py", line 16, in <module>
worker-1 | from services.convert_files_service import convert_files_service
worker-1 | File "/home/project/services/convert_files_service.py", line 15, in <module>
worker-1 | from tools.pdf_converter import convert_pdf_to_images
worker-1 | File "/home/project/tools/pdf_converter.py", line 15, in <module>
worker-1 | from tools.pdf_split_table_detector import SplitTableDetector
worker-1 | File "/home/project/tools/pdf_split_table_detector.py", line 4, in <module>
worker-1 | import cv2
worker-1 | File "/usr/local/lib/python3.11/site-packages/cv2/__init__.py", line 181, in <module>
worker-1 | bootstrap()
worker-1 | File "/usr/local/lib/python3.11/site-packages/cv2/__init__.py", line 153, in bootstrap
worker-1 | native_module = importlib.import_module("cv2")
worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
worker-1 | File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
worker-1 | return _bootstrap._gcd_import(name[level:], package, level)
worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
worker-1 | ImportError: libGL.so.1: cannot open shared object file: No such file or directory
worker-1 exited with code 1 (restarting)
worker-1 | 当前环境变量 CODE_ENV=dev, 需要读取 /home/project/conf/dev.toml
worker-1 | 2025-10-31 06:26:56.488 | WARNING | services.vision_model:__init__:61 - Volcengine SDK 未安装,使用HTTP方式调用API
worker-1 | Traceback (most recent call last):
worker-1 | File "/home/project/worker.py", line 11, in <module>
worker-1 | from apps.workers.task_worker import TaskWorker
worker-1 | File "/home/project/apps/workers/task_worker.py", line 18, in <module>
worker-1 | from apps.workers.main import process_files_urls
worker-1 | File "/home/project/apps/workers/main.py", line 13, in <module>
worker-1 | from services.logics import document_processing_service
worker-1 | File "/home/project/services/logics.py", line 16, in <module>
worker-1 | from services.convert_files_service import convert_files_service
worker-1 | File "/home/project/services/convert_files_service.py", line 15, in <module>
worker-1 | from tools.pdf_converter import convert_pdf_to_images
worker-1 | File "/home/project/tools/pdf_converter.py", line 15, in <module>
worker-1 | from tools.pdf_split_table_detector import SplitTableDetector
worker-1 | File "/home/project/tools/pdf_split_table_detector.py", line 4, in <module>
worker-1 | import cv2
worker-1 | File "/usr/local/lib/python3.11/site-packages/cv2/__init__.py", line 181, in <module>
worker-1 | bootstrap()
worker-1 | File "/usr/local/lib/python3.11/site-packages/cv2/__init__.py", line 153, in bootstrap
worker-1 | native_module = importlib.import_module("cv2")
worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
worker-1 | File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
worker-1 | return _bootstrap._gcd_import(name[level:], package, level)
worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
worker-1 | ImportError: libGL.so.1: cannot open shared object file: No such file or directory
worker-1 exited with code 1 (restarting)
worker-1 | 当前环境变量 CODE_ENV=dev, 需要读取 /home/project/conf/dev.toml
worker-1 | 2025-10-31 06:27:04.177 | WARNING | services.vision_model:__init__:61 - Volcengine SDK 未安装,使用HTTP方式调用API
worker-1 | Traceback (most recent call last):
worker-1 | File "/home/project/worker.py", line 11, in <module>
worker-1 | from apps.workers.task_worker import TaskWorker
worker-1 | File "/home/project/apps/workers/task_worker.py", line 18, in <module>
worker-1 | from apps.workers.main import process_files_urls
worker-1 | File "/home/project/apps/workers/main.py", line 13, in <module>
worker-1 | from services.logics import document_processing_service
worker-1 | File "/home/project/services/logics.py", line 16, in <module>
worker-1 | from services.convert_files_service import convert_files_service
worker-1 | File "/home/project/services/convert_files_service.py", line 15, in <module>
worker-1 | from tools.pdf_converter import convert_pdf_to_images
worker-1 | File "/home/project/tools/pdf_converter.py", line 15, in <module>
worker-1 | from tools.pdf_split_table_detector import SplitTableDetector
worker-1 | File "/home/project/tools/pdf_split_table_detector.py", line 4, in <module>
worker-1 | import cv2
worker-1 | File "/usr/local/lib/python3.11/site-packages/cv2/__init__.py", line 181, in <module>
worker-1 | bootstrap()
worker-1 | File "/usr/local/lib/python3.11/site-packages/cv2/__init__.py", line 153, in bootstrap
worker-1 | native_module = importlib.import_module("cv2")
worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
worker-1 | File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
worker-1 | return _bootstrap._gcd_import(name[level:], package, level)
worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
worker-1 | ImportError: libGL.so.1: cannot open shared object file: No such file or directory
worker-1 exited with code 1 (restarting)
worker-1 | =================
报的这个错:
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
意思是:容器里安装的 OpenCV 是带 GUI/显示能力的版本(opencv-python),它运行时要去找系统的图形库 libGL.so.1,但你的镜像里没有这个系统库,所以直接崩了。
你这台信创麒麟上之前一旦在镜像里 apt-get install … 就会卡在 dpkg 内存那里,所以这次就别走 apt 装 libGL 了,换成不需要图形库的 OpenCV —— 也就是 opencv-python-headless。这是最稳的办法。
下面这样改 👇
方案一(推荐):换成 headless 版本
1. 改你的 mirrors/requirements.txt
找到里面的这一行(名字可能略有不同):
opencv-python
改成:
opencv-python-headless
如果原来限定了版本,比如:
opencv-python==4.10.0.84
就改成对应的 headless:
opencv-python-headless==4.10.0.84
2. 重新 build & up
docker-compose build worker
docker-compose up
这样进容器的还是 import cv2,但底下用的是不依赖 libGL.so.1 的版本,就不会再报这个错。
⸻
方案二(不推荐你现在用):镜像里装系统库
如果一定要保留 opencv-python,那 Dockerfile 里要加:
RUN apt-get update &&
apt-get install -y --no-install-recommends libgl1 &&
rm -rf /var/lib/apt/lists/*
但你这台机子前面 apt 装包就会在 dpkg-deb … lzma error: Cannot allocate memory 掉,所以这条路你现在走不通,除非你给 docker build 加更多内存 / 写本地源 / 做离线 deb。
⸻
所以,结论一句话:这是 OpenCV 要系统图形库但镜像里没有,直接把依赖从 opencv-python 换成 opencv-python-headless 再重建镜像就好了。
5万+

被折叠的 条评论
为什么被折叠?



