Eu estava passando pelo mesmo problema, e como já tive problemas em rodar alguns comandos de alguns cursos daqui por está programando no Windows, segui nessa linha de pensamento e acabei descobrindo uma coisa interessante.
O Docker espera que os scripts de entrada estejam no formato Unix, o que significa que eles devem ter quebras de linha LF (Line Feed), e não CRLF (Carriage Return Line Feed), que é o padrão no Windows.
Lá no docker-compose.yml mostra que os arquivos .sh que estão na raiz do projeto estão sendo copiados para o arquivo entrypoint.sh dentro das imagens do docker.
Basicamente, para resolver o problema, você vai ter que converter os arquivos .sh que estão na raiz do projeto para o formato Unix.
Eu usei o Notepad++ para isso:
- Abre os arquivos .sh da raiz do projeto
- No Notepad++ vai em Editar => Conversão final de linha => Converter para formato UNIX
- Salva
Basicamente é isso, após fazer essa alteração o erro de "end of line unexpected" acaba.
Espero ter ajudado!
Obs: Apesar de te resolvido "parcialmente" o problema, ao tentar rodar o comando do docker compose, continuou quebrando os projetos em outros pontos, por exemplo, ao tentar rodar o ng serve do angular, retornava um erro informando que o comando NG não havia sido encontrado. Tentei redirecionar a chamada do ng para pegar diretamente da pasta @angular no node_modules, mas ai deu erro de permissão negada.
Enfim, vira uma bola de neve.
Para resolver o problema de vez, eu baixei o projeto na instalação Linux que tenho aqui no Windows, via WLS.
Recomendo, evita essas dores de cabeça!
Link para instalação