我在运行我的Docker容器时收到以下错误:
W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such fi
le or directory
2021-07-01 18:39:36.985933: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
Traceback (most recent call last):
File "/opt/program/analyze", line 4, in <module>
from analysis.image_data_analyzer import ImageDataAnalyzer
File "/opt/program/analysis/image_data_analyzer.py", line 1, in <module>
from alibi_detect.utils.saving import save_detector, load_detector
File "/usr/local/lib/python3.6/site-packages/alibi_detect/__init__.py", line 1, in <module>
from . import ad, cd, models, od, utils
File "/usr/local/lib/python3.6/site-packages/alibi_detect/od/__init__.py", line 10, in <module>
from .llr import LLR
File "/usr/local/lib/python3.6/site-packages/alibi_detect/od/llr.py", line 13, in <module>
from alibi_detect.utils.perturbation import mutate_categorical
File "/usr/local/lib/python3.6/site-packages/alibi_detect/utils/perturbation.py", line 1, in <module>
import cv2
File "/usr/local/lib64/python3.6/site-packages/cv2/__init__.py", line 5, in <module>
from .cv2 import *
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
我尝试按照建议运行以下命令here。
RUN apt-get update ##[edited]
RUN apt-get install ffmpeg libsm6 libxext6 -y
然而,我得到了错误/bin/sh: apt-get: command not found
。我也尝试过用yum安装libGL,但也没有成功。这个容器的父映像是linux。有什么解决这个错误的想法吗?谢谢。
2条答案
按热度按时间z2acfund1#
通过将此行添加到Dockerfile解决了问题:
RUN yum -y install mesa-libGL
dba5bblo2#
在我的例子中,我创建了一个带有flask的python服务器,它使用OpenCV的
cv2
来分析图像,我设法通过使用python:3.9-slim-buster
docker图像解决了这个问题(即Python完整图像的精简版本,仅包含Python运行时所需的依赖项)并安装opencv-contrib-python
包(你可以得到这个软件包的描述here)。我还设法安装了OpenCV所需的一些apt软件包,有libsm6
,libxext6
,ffmpeg
,libfontconfig1
,libxrender1
,libgl1-mesa-glx
。我还测试了具有相同Dockerfile结构的
python:3.8-slim-buster
Docker映像,它工作得很好。以防万一,
numpy
,Flask
和python-dotenv
不是必须安装的,我在这里安装是因为我的python服务需要它。我已经看到了一些关于它的问题,但没有一个明确的答案。有些方法对一些人有效,有些方法无效。
希望能有所帮助。