如何在基于AWS Lambda Python的Docker镜像中添加tnsping工具
AWS Lambda镜像添加tnsping工具的解决方案
所需Oracle包
tnsping工具包含在instantclient-net-linux.x64-21.3.0.0.0.zip中(版本需与你当前使用的basic包保持一致)。将该包上传至内部Nexus仓库后,即可在Dockerfile中引用。
调整后的Dockerfile代码
整合原有basic包和新增net包的部署步骤:
# 下载并解压Oracle Instant Client基础包和net包 RUN curl -o instantclient-basic.zip https://nexus.mycompany.com/repository/binaries/Oracle/InstantClient/21.3.0.0.0/instantclient-basic-linux.x64-21.3.0.0.0.zip \ && curl -o instantclient-net.zip https://nexus.mycompany.com/repository/binaries/Oracle/InstantClient/21.3.0.0.0/instantclient-net-linux.x64-21.3.0.0.0.zip \ && unzip instantclient-basic.zip \ && unzip instantclient-net.zip \ # 创建ORACLE_HOME目录并迁移文件 && mkdir -p $ORACLE_HOME/lib \ && mv instantclient_21_3/* $ORACLE_HOME/lib/ \ && mv instantclient-net-linux.x64-21.3.0.0.0/tnsping $ORACLE_HOME/lib/ \ # 清理临时文件 && rm -f instantclient-basic.zip instantclient-net.zip \ && rm -rf instantclient_21_3 instantclient-net-linux.x64-21.3.0.0.0 # 将ORACLE_HOME/lib加入PATH,确保tnsping可直接调用 ENV PATH="$ORACLE_HOME/lib:$PATH"
部署说明
- tnsping需要与基础客户端库放在同一目录(
$ORACLE_HOME/lib),保证依赖的Oracle库能被正确加载。 - 通过
ENV指令将该目录加入系统PATH后,在Lambda环境中即可直接执行tnsping命令进行TNS连接测试。
内容的提问来源于stack exchange,提问作者Rafiq
相关产品推荐
相关产品推荐

