良许Linux教程网 干货合集 通过Docker制作Python环境连接Oracle镜像

通过Docker制作Python环境连接Oracle镜像

这篇文章主要为大家介绍了使用Docker制作Python环境连接Oracle镜像示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

Python连接Oracle本地测试

依赖安装准备

Python、链接Oracle需要Python依赖和本地Oracle客户端,测试环境Oracle版本12.1.0.2.0,开发和测试环境为linux,先安装linux客户端,选择zip解压免安装版本

Oracle linux客户端

教你如何使用Docker制作Python环境连接Oracle镜像教你如何使用Docker制作Python环境连接Oracle镜像
教你如何使用Docker制作Python环境连接Oracle镜像教你如何使用Docker制作Python环境连接Oracle镜像

解压到某个目录

unzip instantclient-basic-linux.x64-12.1.0.2.0.zip

解压后新建/network/admin文件夹

cd /opt/instantclient_12_1/
mkdir -p /network/admin

修改root用户的环境变量

vim /etc/profile
export ORACLE_HOME=/opt/instantclient_12_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG="SIMPLIFIED CHINESE_CHINA".ZHS16GBK
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME:$PATH
source /etc/profile

下一步安装Python依赖

pip install cx_Oracle

Python脚本测试

root@ubuntu:~# python
Python 3.7.6 (default, Jan  8 2020, 19:59:22)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help""copyright""credits" or "license" for more information.
>>> import cx_Oracle as cx
>>> con = cx.connect('username''password''xxx.xxx.xxx.xxx:1521/ORCL')
>>> cursor = con.cursor()
>>> cursor.execute("select * from emp")
>
>>> cursor.fetchall()
[(1, '张三'), (2, '李四'), (3, '王五')]
>>>

制作Docker镜像

创建Dockerfile

touch Dockerfile
# 将oracle本地客户端文件夹移动到同一级目录
cp -r /opt/instantclient_12_1/ ./
Dockerfile
FROM python:3.7
ENV  PIPURL "https://mirrors.aliyun.com/pypi/simple/"
RUN pip install cx_Oracle --default-timeout=1000
COPY instantclient_12_1 /opt/instantclient_12_1
ENV ORACLE_HOME=/opt/instantclient_12_1
ENV TNS_ADMIN=$ORACLE_HOME/network/admin
ENV NLS_LANG="SIMPLIFIED CHINESE_CHINA".ZHS16GBK
ENV NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
ENV LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
ENV PATH=$ORACLE_HOME:$PATH
RUN apt-get update
RUN apt-get install -y libaio1

镜像构建

docker build -t xiaogp/python_oraqcle:v3 .

构建完成

root@ubuntu:~/docker/PYTHON_ORACLE# docker images
REPOSITORY                              TAG                            IMAGE ID            CREATED             SIZE
xiaogp/python_oraqcle                    v3                             bb0100d9c3f5        39 seconds ago      1.1GB

启动镜像测试一下

root@ubuntu:~/docker/PYTHON_ORACLE# docker run -it bb0100d9c3f5 /bin/bash
root@fbff875ba4d5:/# python
Python 3.7.9 (default, Jan 12 2021, 17:26:22)
[GCC 8.3.0] on linux
Type "help""copyright""credits" or "license" for more information.
>>> import cx_Oracle as cx
>>> con = cx.connect('username''password''xxx.xxx.xxx.xxx:1521/ORCL')
>>> cursor = con.cursor()
>>> cursor.execute("select * from emp")
>
>>> cursor.fetchall()
[(1, '张三'), (2, '李四'), (3, '王五')]

可以链接,制作结束

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部