docker-images: Instant Client missing file libaio
I am currently getting this error:
sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError)
DPI-1047: Cannot locate a 64-bit Oracle Client library: "libaio.so.1: cannot open shared object file: No such file or directory".
See https://oracle.github.io/odpi/doc/installation.html#linux for help
I logged everything in my /usr/lib/oracle folder, and I see:
/usr/lib/oracle/12.2
/usr/lib/oracle/12.2/client64
/usr/lib/oracle/12.2/client64/lib
/usr/lib/oracle/12.2/client64/lib/libnnz12.so
/usr/lib/oracle/12.2/client64/lib/libocci.so
/usr/lib/oracle/12.2/client64/lib/ojdbc8.jar
/usr/lib/oracle/12.2/client64/lib/liboramysql12.so
/usr/lib/oracle/12.2/client64/lib/libmql1.so
/usr/lib/oracle/12.2/client64/lib/xstreams.jar
/usr/lib/oracle/12.2/client64/lib/libclntshcore.so
/usr/lib/oracle/12.2/client64/lib/libocci.so.12.1
/usr/lib/oracle/12.2/client64/lib/ottclasses.zip
/usr/lib/oracle/12.2/client64/lib/libsqlplus.so
/usr/lib/oracle/12.2/client64/lib/libociei.so
/usr/lib/oracle/12.2/client64/lib/libocijdbc12.so
/usr/lib/oracle/12.2/client64/lib/libclntsh.so
/usr/lib/oracle/12.2/client64/lib/libsqlplusic.so
/usr/lib/oracle/12.2/client64/lib/glogin.sql
/usr/lib/oracle/12.2/client64/lib/libons.so
/usr/lib/oracle/12.2/client64/lib/libipc1.so
/usr/lib/oracle/12.2/client64/lib/libclntsh.so.12.1
/usr/lib/oracle/12.2/client64/lib/libclntshcore.so.12.1
/usr/lib/oracle/12.2/client64/bin
/usr/lib/oracle/12.2/client64/bin/adrci
/usr/lib/oracle/12.2/client64/bin/genezi
/usr/lib/oracle/12.2/client64/bin/sqlplus
here is what I am using in Docker:
FROM store/oracle/database-instantclient:12.2.0.1 AS oracle_client_build
FROM some/other/image
COPY --from=oracle_client_build /usr/lib/oracle /usr/lib/oracle
COPY --from=oracle_client_build /usr/share/oracle /usr/share/oracle
COPY --from=oracle_client_build /usr/include/oracle /usr/include/oracle
ENV ORACLE_HOME '/usr/lib/oracle/12.2.0.1/client64'
ENV PATH "$PATH:$ORACLE_HOME/bin"
ENV LD_LIBRARY_PATH "$ORACLE_HOME/lib"
ENV TNS_ADMIN "$ORACLE_HOME/network/admin"
ENTRYPOINT ["pserve", "development_bd_prod.ini"] # cannot find libaio
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 17 (9 by maintainers)
we are using Ubuntu as a base image - so will
apt-get install libaio1work the same asyum install? Where doesyum installin your image put the libaio files?Because you’re not installing it in your
some/other/image. You probably need ayum install libaio-develor whatever the equivalent is for the distro you’re using. The Instant Client is dynamically linked againstlibaioand theyum installcommand in our Docker image would automatically install it into that image.