使用带有oracle 12c镜像的dockerfile导入数据库转储文件时出现sqlplus错误

时间:2019-01-11 10:31:14

标签: docker dockerfile sqlplus oracle12c

在Oracle 12c dockerfile中使用sqlplus时遇到麻烦。当我尝试运行dockerfile时,它返回未找到命令

我尝试在容器上指定sqlplus的直接路径,但不幸的是它没有帮助。

    FROM store/oracle/database-enterprise:12.2.0.1

    ENV ORACLE_BASE=/opt/oracle \
        ORACLE_PWD=Oradoc_db1 \
        DUMP_DIRECTORY="/home/oracle/dump/" \
        USER_SCRIPT_DIRECTORY="/home/oracle/scripts/" \
        DUMP_FILE="test.dmp" \
        INIT_SQL_SCRIPT_FILE="init.sql"

    RUN mkdir $DUMP_DIRECTORY && mkdir $USER_SCRIPT_DIRECTORY

    COPY test.dmp $DUMP_DIRECTORY 
    COPY $INIT_SQL_SCRIPT_FILE $USER_SCRIPT_DIRECTORY
    RUN sqlplus system/${ORACLE_PWD} as sysdba @$USER_SCRIPT_DIRECTORY/$INIT_SQL_SCRIPT_FILE

运行使用此dockerfile创建的不带RUN部分的容器,并手动执行此命令(登录到容器后),它将找到sqlplus并执行而没有错误。 正在执行的脚本包含转储文件中指定的用户凭据。

0 个答案:

没有答案