我正在使用alpine linux作为基本映像,并且需要安装oracle客户端本机库。我相信您可以从这里下载:
https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
看起来我必须登录才能下载,有人知道如何在不登录的情况下下载客户端库的zip文件吗?
有人知道如何在bash脚本或dockerfile中正确安装客户端库吗?
答案 0 :(得分:1)
您不想使用Alpine Linux,因为您将需要对其进行破解,并且可能会变得不稳定。有关更多评论,请参见https://stackoverflow.com/a/53291026/4799035。
另请参见https://github.com/oracle/docker-images/blob/master/OracleInstantClient/dockerfiles/19/Dockerfile,该登录不需要任何登录。
总而言之,在Oracle Linux上:
yum -y install oracle-release-el7 && yum-config-manager --enable ol7_oracle_instantclient
yum -y install oracle-instantclient19.3-basic && rm -rf /var/cache/yum
答案 1 :(得分:0)
我想出了一些不同的方法来在ubuntu
Docker中安装Oracle Instant Client,这可能会帮助其他人
遵循以下简单步骤:
从oracle官方下载中心下载oracle Instant Client(.rpm
文件)
转换为.deb
(您可以使用apt-get install alien
)并移动到工作目录中的某个位置。
现在更新您的Dockerfile
并进行构建
RUN apt-get update
WORKDIR /opt
ADD ./ORACLE-INSTANT-CLIENT.deb /opt
#if libaio also required
RUN apt-get install libaio1
RUN dpkg -i oracle-instantclient.deb
答案 2 :(得分:0)
这是基于Debian 10(Buster)的官方PHP-FPM映像的有效解决方案。以下Dockerfile
使用RPM软件包和alien
安装Oracle Instant Client 18.5( basiclite 和 devel )。
克里斯托弗·琼斯(Christopher Jones)撰写文件时,当前无需Oracle帐户即可下载文件。
FROM php:7.2.32-fpm
# see https://help.ubuntu.com/community/Oracle%20Instant%20Client
RUN apt-get update && apt-get install -y --no-install-recommends alien libaio1 wget && \
wget https://download.oracle.com/otn_software/linux/instantclient/185000/oracle-instantclient18.5-basiclite-18.5.0.0.0-3.x86_64.rpm && \
wget https://download.oracle.com/otn_software/linux/instantclient/185000/oracle-instantclient18.5-devel-18.5.0.0.0-3.x86_64.rpm && \
alien -i oracle-instantclient18.5-basiclite-18.5.0.0.0-3.x86_64.rpm && \
alien -i oracle-instantclient18.5-devel-18.5.0.0.0-3.x86_64.rpm
ENV LD_LIBRARY_PATH="/usr/lib/oracle/18.5/client64/lib:${LD_LIBRARY_PATH}"