Пожалуйста, имейте в виду, я все еще изучаю Docker. Я занимаюсь этим всего несколько дней. Однако я пытаюсь работать с контейнером Ubuntu: Latest Docker. В строке CMD у меня есть сценарий оболочки, который запускает некоторые команды, а затем ожидаемый файл.
Файл оболочки:
#!/бин/баш
/mnt/scprime/spd /data -M gctwh &
спать 45
ожидать /mnt/scprime/wallet.exp
Ожидаемый файл:
#!/USR/бен/ожидание
установить мой_пароль мой пароль
Разблокировка кошелька spawn /mnt/scprime/spc
ожидать "Пароль кошелька:" {отправить -- "$my_password\r"}
взаимодействовать
Я могу запустить этот скрипт без проблем через bash внутри контейнера. Но когда я запускаю его в сценарии оболочки в CMD, он приводит к сбою контейнера после запуска ожидаемого файла. Кажется, это происходит после «взаимодействия», потому что исполняемый файл spc является интерактивным, поскольку он запрашивает пароль.
Я пробовал это, и он все еще падает.
#!/бин/баш
SCPRIME_WALLET_PASSWORD=мой пароль
экспортировать SCPRIME_WALLET_PASSWORD
Разблокировка кошелька /mnt/scprime/spc
Я создал сценарий оболочки, и он падает, потому что он также интерактивен.
#!/бин/баш
apt-get -y установить приложение
Я пытаюсь сделать этот процесс максимально простым и возможным, не создавая несколько образов из существующих контейнеров после того, как я что-то установлю. Однако что я делаю не так?