Meu aplicativo é executado no docker, então posso ter certeza de que é sempre a mesma versão do MySQL, a mesma estrutura de banco de dados, os mesmos agrupamentos e assim por diante. Eu executo em várias máquinas. Em todos eles, meu script de benchmark que faz inserções sequenciais de 20k leva um tempo razoável (como 30 segundos). Mas em uma máquina leva cerca de 13m. As estatísticas de hardware são semelhantes em termos de núcleos de CPU e RAM (8 núcleos, 16 GB). O sistema operacional da máquina crítica é o Debian Bullseye, como em um dos outros também (os outros são várias variantes do Debian ou Ubuntu). Por que essa VM específica pode ter um desempenho muito pior que as outras?
Paflow's questions
Então imagine este comando:
docker compose -f docker/docker-compose.yml run \
--rm --entrypoint "" \
my-service
e algo assim para docker/docker-compose.yml:
version: '3.9'
services:
my-service:
depends_on: other-service
...
other-service:
...
Quando executo o comando, ambos os serviços aparecem. Mas parece que ambos têm seu ponto de entrada substituído por "". Isso é possível? E se sim, como posso arquivar que apenas o ponto de entrada my-services seja substituído?
Os documentos afirmam apenas :
--entrypoint Override the entrypoint of the image
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?