Meu aplicativo da Web vem em contêineres docker e é iniciado com o docker-compose up
. A configuração o expõe na porta 80, o resto acontece dentro dos contêineres graças ao traefik etc.
Se eu iniciá-lo em uma máquina onde um servidor da web local como o apache está instalado, ele diz que "a porta 80 já está em uso" e se recusa a iniciar, o que é claro. Um tem que parar o sever. Eu quero ter uma página de fallback/erro, que diga "em construção" ou qualquer outra coisa enquanto o contêiner não estiver em execução (devido a um erro ou durante uma atualização ou qualquer outra coisa).
Então, para uma atualização, eu teria que
- parar/para baixo do docker-compose
- iniciar o apache
- fazer minhas coisas
- pare apache
- docker-compose
Agora estou pensando se posso simplificar isso: Existe a possibilidade de servir o fallback.html de forma não bloqueante, ou em outras palavras: é possível configurar o apache ou usar outro servidor web para não bloquear a porta 80 e permitir outro aplicativo (docker neste caso, mas o problema seria o mesmo para todos os aplicativos que se servem) para usá-lo, mas servi-lo, quando o outro aplicativo não?
Isso é da minha configuração que eu uso exatamente para este caso:
O script PHP mostra uma mensagem diferente durante os tempos de inatividade programados e fora dele.