在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并执行而没有错误。 正在执行的脚本包含转储文件中指定的用户凭据。