Install Oracle client on existing nodered container

As I spent few days to sort out oracle connection with exsting nodered container,
I'd like to share how I solved the problem as following.

  1. download oracle client zip file: ( in my case target oracle version is 11g )

    https://download.oracle.com/otn/linux/instantclient/11204/instantclient-basic-linux.x64-11.2.0.4.0.zip

    Instant Client for Linux x86-64 (64-bit)

  2. Copy inside docker container

docker cp zipFile norered:/data

  1. Access docker as root

    sudo docker exec -it --user root nodered /bin/bash

  2. After creating /data/oracle, copy the zip file and unzip it.

    /data/oracle/instantclient_11_2 is created

  3. Create soft link

    ln -s libclntsh.so.11.1 libclntsh.so

    ln -s libocci.so.11.1 libocci.so

  4. Install lib ( libaio, libnsl )
    apk update
    apk add libaio
    apk add libnsl

  5. Set docker environment variable LD_LIBRARY_PATH from host
    sudo su
    systemctl stop docker

    • The following path is different based on your container
      vi /var/lib/docker/containers/ed76126653847ec5658983e2dd2da94fe96268b087887d52a6ec12e473ea301a/config.v2.json

    Add the following to Env

    "Env":["LD_LIBRARY_PATH=/data/oracle/instantclient_11_2:/usr/lib",

    systemctl start docker

    docker start nodered

  6. Execute oracle DB query using oracle node

2 Likes

I never use docker.

Your tutorial can be applied for this NodeRed and Oracle Database ?

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.