То, что вам нужно, называется «включить охрану». Вы можете увидеть пример SO Джонатана Леффлера в https://stackoverflow.com/a/7518684/6512983.
if [ -z "$B_SH_INCLUDED" ]
then
B_SH_INCLUDED=yes
...rest of original contents of b.sh
fi
По сути, вы определяете переменную во включенном файле, но заранее проверяете ее существование и преждевременно возвращаете значение, если она уже определена.
Вероятно, это потому, что cron
уже запущен!
Попробуйте:
CMD tail -f /dev/null
чтобы контейнер продолжал работать, пока вы пробуете что-то вручную