Как выполнить сценарий bash в контейнере докера с хоста, чтобы он не выходил из контейнера после выполнения сценария?
Вы можете попробовать использовать bash в качестве интерактивной оболочки без входа в систему с опцией --rcfile
file.
MAN:
При запуске интерактивной оболочки, не являющейся оболочкой входа в систему, Bash читает и выполняет команды из ~/.bashrc, если этот файл существует. Этот можно запретить с помощью параметра --norc. Параметр файла --rcfile заставит Bash читать и выполнять команды из файла вместо ~/.bashrc.
Так что используйте
bash --rcfile <(echo '. ~/.bashrc; some_command')
как указано в этом посте.
Посмотрите на использование docker exec вместе с -d для флага detached, т.е.
docker exec -d <containerid> /path/to/script