Você verificou se o arquivo está definido como executável? Aqui está um exemplo de como marcar um script como executável:
$ ls -l test.sh
-rw-r--r-- 1 ahill ahill 0 Mar 23 19:30 test.sh
$ chmod +x test.sh
$ ls -l test.sh
-rwxr-xr-x 1 ahill ahill 0 Mar 23 19:30 test.sh
A próxima coisa a verificar é o ambiente. trabalhos agendados não herdam nenhum ambiente por padrão. A "correção" é discutida aqui:
Como posso executar um comando cron com variáveis ambientais existentes?
Uma das razões pelas quais o ambiente é um grande problema é que o cron pode nem encontrar o bash! veja: link
Se você ainda não consegue descobrir, eu faria um teste: Altere sua tarefa do cron de:
0 5 * * * /home/me/projects/execute-backup-from-container.sh
para:
0 5 * * * /home/me/projects/execute-backup-from-container.sh >> ~/script_errors.log 2>&1
O que acontecerá: na próxima vez em que o cron iniciar a tarefa, as mensagens de erro produzidas serão despejadas no arquivo de texto script_errors.log. (mude o caminho para o arquivo script_errors.log para o que parecer apropriado, mas certifique-se de que o caminho exista, embora o arquivo não precise.)
Eu também notei algo no OP que pode ser o verdadeiro problema: a palavra "contêiner". Se o script estiver dentro de um contêiner do Docker, essa provavelmente é a solução: link