在Docker容器中安装Oracle Client

时间:2019-04-26 00:29:19

标签: oracle docker dockerfile alpine oracleclient

我正在使用alpine linux作为基本映像,并且需要安装oracle客户端本机库。我相信您可以从这里下载:

https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

  1. 看起来我必须登录才能下载,有人知道如何在不登录的情况下下载客户端库的zip文件吗?

  2. 有人知道如何在bash脚本或dockerfile中正确安装客户端库吗?

3 个答案:

答案 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,这可能会帮助其他人

遵循以下简单步骤:

  1. oracle官方下载中心下载oracle Instant Client(.rpm文件)

  2. 转换为.deb(您可以使用apt-get install alien)并移动到工作目录中的某个位置。

  3. 现在更新您的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}"
相关问题