SayMAN83
@SayMAN83
Работаю в IT

Docker. Как завершить сборку образа, если инсталляция ПО переходит в фоновый режим?

Доброго дня!

Собрираю образ с развернутой системой IBM MDM.
Без проблем ставлю IBM Websphere
Столкнулся с проблемой в докере при установке Oracle Client Database

Проблемный фрагмент кода:
COPY linuxx64_12201_client.zip /tmp

RUN cd /tmp && \
unzip linuxx64_12201_client.zip && \

USER mdm_dev 

RUN cd /tmp/client  && \
./runInstaller -silent  -force \
 FROM_LOCATION=/tmp/client/stage/products.xml \
 INVENTORY_LOCATION=/opt/IBM/oraInventory \
 UNIX_GROUP_NAME=mdm_dev \
 ORACLE_HOME=/opt/IBM/oracle/product/12.2.0/client_1 \
 ORACLE_HOME_NAME="OraClient12c_Home1" \
 ORACLE_BASE=/opt/IBM/oracle \
 oracle.install.client.installType="Administrator"


Тут происходит установка и необходимо дождаться сообщения:
Please check '/opt/IBM/oraInventory/logs/silentInstall2019-10-11_08-16-12AM.log' for more details.

As a root user, execute the following script(s):
1. /opt/IBM/oraInventory/orainstRoot.sh

Successfully Setup Software.


Из чего следует, что необходимо от рута выполнить скрипт, что я и делаю:
USER root

RUN cp /usr/bin/awk /bin/awk && \
/opt/IBM/oraInventory/orainstRoot.sh


Но происходит следующее: в какой-то момент установка переходит в фоновый режим, и при нажатии Enter, консоль становится доступна для ввода следующей команды.
В результате сценарий сборки идет дальше и выполняется запуск скрипта /opt/IBM/oraInventory/orainstRoot.sh, когда установка еще и начаться-то не успела.

На ум приходит пока выполнение команды wait, чтобы дать возможность довести установку до конца. Но этот вариант мне кажется костыльным. Так как нет возможности проконтролировать установку до конца. Либо это будет слишком долго.

Возможно есть какое-то иное решение?
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 1
@vitaly_il1
DevOps Consulting
Я бы поискал в доках и форумах как запускать orainstRoot.sh в не-интерактивном режиме.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы