У меня проблемы с использованием sqlplus в dockerfile Oracle 12c. Когда я пытаюсь запустить dockerfile, он возвращает команду not found .
Я пытался указать прямой путь к 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 и выполнится без ошибок.
Сценарий, который выполняется, содержит учетные данные для пользователя, указанного в файле дампа.