美文网首页
python访问数据库(MySQL/Oracle/SQL ser

python访问数据库(MySQL/Oracle/SQL ser

作者: pilisiyang | 来源:发表于2020-11-17 17:32 被阅读0次

项目背景

之前项目需要用java调用python脚本访问数据库,所以专门做了一个镜像

dockerfile

FROM openjdk:8

# 拷贝客户端
COPY client /tmp/client

# 拷贝imp
COPY oracle /opt/oracle/instantclient_11_2

# 更新环境变量
ENV ORACLE_HOME=/opt/oracle/instantclient_11_2
ENV PATH=$ORACLE_HOME:$PATH  LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH  NLS_LANG='simplified chinese_china.ZHS16GBK'

# 更新阿里云ubuntu源
RUN sed -i "s@http://deb.debian.org@http://mirrors.aliyun.com@g" /etc/apt/sources.list && \
    sed -i "s@http://security.debian.org@http://mirrors.aliyun.com@g" /etc/apt/sources.list && \
    apt-get update && apt-get install -y libaio1 expect && apt-get install -y python-pip && \
# 安装python依赖
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir requests==2.22.0 && \
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir pymssql==2.1.4 && \
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir cx-Oracle==7.2.2 && \
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir pycrypto==2.6.1 && \
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir pandas==0.24.2 && \
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir --egg mysql-connector-python-rf==2.2.2 && \
# 安装Oracle客户端
    unzip  /tmp/client/instantclient-basic-linux.x64-11.2.0.4.0.zip -d /opt/oracle && \
    unzip /tmp/client/instantclient-sqlplus-linux.x64-11.2.0.4.0.zip -d /opt/oracle && \
    unzip /tmp/client/instantclient-sdk-linux.x64-11.2.0.4.0.zip -d /opt/oracle && \
    rm -rf /tmp/client && \
# 赋权限删除不需要依赖
    chmod 777 -R /opt/oracle/instantclient_11_2/ && \
    rm -rf /var/cache/apk/* && rm -rf /var/lib/apt/lists/* && apt-get autoremove && \
    mkdir /download

FROM openjdk:8 是因为容器上也要运行jvm,引入pycrypto是因为项目用到了DES加密,引入pandas做了数据格式化

相关文章

网友评论

      本文标题:python访问数据库(MySQL/Oracle/SQL ser

      本文链接:https://www.haomeiwen.com/subject/htffiktx.html