【发布时间】:2019-02-17 20:47:48
【问题描述】:
我需要将管理员与 oracle 连接,但官方图像不支持它。是否有任何用于 oracle 连接的管理员图像?或者如果有人可以指导我如何在当前图像中安装 oci8 扩展。
【问题讨论】:
-
你的问题好运吗?
我需要将管理员与 oracle 连接,但官方图像不支持它。是否有任何用于 oracle 连接的管理员图像?或者如果有人可以指导我如何在当前图像中安装 oci8 扩展。
【问题讨论】:
您可以使用以下图像来连接到 oracle https://hub.docker.com/r/soivangoi/nginx-php-adminer-oci8
供服务器使用,请注意语法如下:
host_ip:port/service_name(如 .tnsnames.ora 中所述)
【讨论】:
Dockerfile:
FROM adminer:4.8.1
ENV LD_LIBRARY_PATH /usr/local/instantclient_21_1
ENV ORACLE_HOME /usr/local/instantclient_21_1
USER root
RUN apk update && apk upgrade --available \
&& apk add --no-cache bash autoconf build-base composer libaio libnsl libc6-compat busybox-extras
ADD tmp/. /tmp/.
RUN unzip -d /usr/local/ /tmp/instantclient-basic-linux.x64-21.1.0.0.0.zip
RUN unzip -d /usr/local/ /tmp/instantclient-sdk-linux.x64-21.1.0.0.0.zip
RUN unzip -d /usr/local/ /tmp/instantclient-sqlplus-linux.x64-21.1.0.0.0.zip
RUN ln -s /usr/lib/libnsl.so.2 /usr/lib/libnsl.so.1
RUN ln -s /lib/libc.so.6 /usr/lib/libresolv.so.2
RUN ln -s /lib64/ld-linux-x86-64.so.2 /usr/lib/ld-linux-x86-64.so.2
RUN pear upgrade --force && pecl upgrade
ADD tmp/instantclient.ini /etc/php.d/instantclient.ini
RUN docker-php-ext-configure oci8 --with-oci8=instantclient,$ORACLE_HOME
RUN docker-php-ext-install oci8
oracle 即时客户端下载地址:
https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-basic-linux.x64-21.1.0.0.0.zip
https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-sqlplus-linux.x64-21.1.0.0.0.zip
https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-sdk-linux.x64-21.1.0.0.0.zip
instantclient.ini 文件内容为extension=oci8.so
【讨论】: