如何在python3.6 docker映像中安装ibm_db_dbi模块?

时间:2019-04-18 10:32:20

标签: python docker python-3.6

我已经在docker映像中成功安装了ibm_db v3.0.1软件包,但是当我尝试导入ibm_db_dbi模块时会抛出错误。

Dockerfile:

FROM python:3.6.8-alpine3.9

WORKDIR /run

COPY . /run

RUN pip install --trusted-host pypi.python.org -r requirements.txt

EXPOSE 7000

CMD ["python", "run.py"]

构建完成后,成功执行以下ibm_db模块进行映像。

下载https://files.pythonhosted.org/packages/98/cb/f77d9bd5f64246074af364cc30e20e3044c533890f3b67d30e89615c2fc5/ibm_db-3.0.1.tar.gz(642kB)

请帮助我解决此问题。

command to run docker image :-  docker run -it -p 7000:7000  dotsapi
  

运行docker文件时出错:-

     

中的文件“ /run/Informix_Conn.py”,第3行
import ibm_db_dbi as db ImportError: Error loading shared library libcrypt.so.1: No such file or directory (needed by
     

/usr/local/lib/python3.6/site-packages/clidriver/lib/libdb2.so.1)

提前谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在您的dockerfile中添加一个pip install ibm_db或创建一个requirements.txt文件。 并使用

在您的dockerfile中呼叫他
 ADD        ./requirements.txt ./
 RUN        python3 -m pip install -r requirements.txt

编辑 它为我工作: 在我的dockerfile中:

FROM       python:3.6
ADD        ./requirements.txt ./
RUN        python3 -m pip install -r requirements.txt
ADD        ./test.py /run

构建成功后,我使用

docker run --name testpython testpython:1 sleep 3600

进入我的容器

docker exec -it testpython /bin/bash

当我运行python控制台或测试脚本时,导入就可以了。

注意: 使用图像python:3.6.8-alpine3.9时,构建无效。 Check this to see why