ldconfig返回非零代码:1

时间:2018-05-16 14:33:06

标签: shell docker

我正在尝试构建包含oracledb客户端和nodejs的docker镜像,但我在The command '/bin/sh -c ldconfig' returned a non-zero code: 1上收到错误RUN ldconfig

我找不到任何可以帮助我解决这个问题的事情,而且我在过去2小时内一直试图解决这个问题,我需要帮助!

其他信息:
奇怪的是,当我使用docker exec -it container_name sh进入容器然后执行ldconfig时,它运行良好......

这是dockerfile

FROM node:9.11-alpine
WORKDIR /
COPY ./oracle /opt/oracle
RUN apk update && \
    apk add --no-cache libaio && \
    mkdir /etc/ld.so.conf.d && \
    sh -c "echo /opt/oracle/instantclient_12_2 > /etc/ld.so.conf.d/oracle-instantclient.conf" && \
    ldconfig
ENV LD_LIBRARY_PATH=/opt/oracle/instantclient_12_2:$LD_LIBRARY_PATH
ENV PATH=/opt/oracle/instantclient_12_2:$PATH
CMD ["tail", "-f", "/dev/null"]

2 个答案:

答案 0 :(得分:0)

我有一篇文章“Docker中的节点oracledb Web服务”,显示在https://blogs.oracle.com/opal/a-node-oracledb-web-service-in-docker使用Oracle Linux容器(包括带有Instant Client的容器)

更新:尝试最新的Oracle Instant Client 18.3容器https://github.com/oracle/docker-images/blob/master/OracleInstantClient/dockerfiles/18.3.0/Dockerfile,它会自动提取所需的RPM - 无需手动下载。这将连接到Oracle DB 11.2或更高版本。

答案 1 :(得分:0)

在高山ldconfig中,需要将配置目录作为参数。

尝试像这样运行ldconfig

ldconfig /etc/ld.so.conf.d

理论上应该起作用。