【问题标题】:python and oracle client on docker imagedocker镜像上的python和oracle客户端
【发布时间】:2019-05-08 03:46:56
【问题描述】:

我想用oracle客户端和python的cx_oracle创建一个docker镜像。我正在使用多阶段 docker 构建映像,但由于 cx_oracle 无法找到 oracle 客户端库,我缺少一个 env 变量。

FROM oraclelinux:7-slim
RUN  curl -o /etc/yum.repos.d/public-yum-ol7.repo https://yum.oracle.com/public-yum-ol7.repo && \
     yum-config-manager --enable ol7_oracle_instantclient && \
     yum -y install oracle-instantclient18.3-basic oracle-instantclient18.3-devel oracle-instantclient18.3-sqlplus && \
     rm -rf /var/cache/yum && \
     echo /usr/lib/oracle/18.3/client64/lib > /etc/ld.so.conf.d/oracle-instantclient18.3.conf && \
     ldconfig
ENV PATH=$PATH:/usr/lib/oracle/18.3/client64/bin    

FROM python:slim
COPY ./requirement.txt ./requirement.txt
RUN pip install -r ./requirement.txt
COPY --from=0 /usr/lib/oracle/18.3/client64/lib /root/usr/lib/oracle/18.3/client64/lib
COPY --from=0 /usr/lib/oracle/18.3/client64/bin /root/usr/lib/oracle/18.3/client64/bin
ENV PATH=$PATH:/root/usr/lib/oracle/18.3/client64/bin:/root/usr/lib/oracle/18.3/client64/lib
ENV ORACLE_HOME=/root/usr/lib/oracle/18.3/client64/:$ORACLE_HOME
ENV LD_LIBRARY_PATH=/root/usr/lib/oracle/18.3/client64/:$LD_LIBRARY_PATH
RUN echo $PATH
RUN echo $ORACLE_HOME
RUN chmod 755 /root/usr/lib/oracle/18.3/client64/lib/*
RUN ls -l /root/usr/lib/oracle/18.3/client64/lib
CMD ["chmod","755","/root/usr/lib/oracle/18.3/client64/lib/*"]
CMD ["ls", "-l" ,"/root/usr/lib/oracle/18.3/client64/lib"]
CMD ["python","test.py"]

下面是错误

DPI-1047: 64-bit Oracle Client library cannot be loaded: "libclntsh.so: cannot open shared object file: No such file or directory". See https://oracle.github.io/odpi/doc/installation.html#linux

【问题讨论】:

  • 您在 /etc/ld.so.conf.d 中输入的内容与您设置的环境变量不匹配!不过,您不需要两者都做。而且您绝对不需要(或不想!)设置环境变量 ORACLE_HOME。
  • Oracle 有各种 Python 和 cx_Oracle RPM,您可以使用它们:yum.oracle.com/oracle-linux-python.html

标签: docker cx-oracle oracleclient


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-14
  • 2023-01-31
  • 2020-01-26
  • 1970-01-01
  • 2017-03-01
  • 2015-03-19
相关资源
最近更新 更多