Há cerca de um mês instalei a versão mais recente do Docker no Debian 12 em uma máquina virtual VMware ESXi 8.0U2 (versão mais recente do vSphere).
Tentei fazer o VNC rodar, mas outras prioridades assumiram o controle, então por enquanto estou apenas acessando a VM via VMware Remote Console, usando o Gnome.
Possui a versão mais recente do VMware Tools instalada:
$ sudo apt-get install open-vm-tools open-vm-tools-desktop
open-vm-tools is already the newest version (2:12.2.0-1+deb12u2).
open-vm-tools-desktop is already the newest version (2:12.2.0-1+deb12u2).
Existe apenas um único contêiner em execução ao mesmo tempo. Eu faço regularmente docker image prune -f
edocker system prune
Sempre que a VM está rodando "por conta própria" (sem que eu esteja conectado a ela via Remote Console no Gnome), ela funciona como um campeão e nunca cai.
Sempre que estou acessando a VM e fazendo alguma coisa, ela trava aleatoriamente e minha "correção" é reinicializar a VM. Tentar acessar o servidor nginx em execução no contêiner de outra máquina enquanto ele está travado resulta no retorno de nosso proxy reverso Error 503 Service Unavailable - No server is available to handle this request
.
Toda a VM host do Debian Docker trava totalmente quando faz isso e não me permite clicar/digitar e a tela congela. Não estou fazendo nada muito exigente. Normalmente estou apenas editando um arquivo nano
no Terminal ou algo assim.
Às vezes, não estou fazendo nada na VM, simplesmente estou conectado a ela por meio do VMware Remote Console - e ela ficará inativa. Ele faz isso em intervalos aleatórios, mas geralmente recebo cerca de uma ou duas horas antes de travar, mas isso parece mudar aleatoriamente, às vezes recebo algumas horas - ultimamente estou tendo menos tempo antes de travar.
Se eu esperar e não reiniciar a VM, o Console Remoto eventualmente voltará à vida após 5 a 10 minutos, a tela descongelará e eu poderei fornecer informações novamente. O daemon Docker morre. Não estou usando o Docker Deskop. Ele está instalado, mas não está configurado para iniciar automaticamente na inicialização/login.
Às vezes, não há contêineres em execução quando ele trava. O contêiner que uso é um servidor web muito simples que só eu acesso.
Às vezes (mas nem sempre), mesmo emitir uma reinicialização para a VM a partir do VMware Remote Console enquanto a VM está suspensa não funcionará na primeira vez (mas geralmente funciona na segunda vez):
No vSphere, quando a VM está travada, [às vezes?] vejo a CPU sustentando 100% de uso! Reduzi os núcleos da CPU de 4 para 2, pois isso estava causando um consumo de CPU muito alto no servidor host VMware com um Xeon E5-1650V3 6c 12t. A VM possui 8 GB de RAM.
Não tenho problemas com nenhuma das minhas outras VMs não-Docker (Linux, FreeBSD e Windows).
Por onde começo a tentar solucionar isso, por favor?
Minha sensação é que isso está relacionado ao VMware Tools ou ao Gnome. Sempre que estou executando uma compilação do Dockerfile (mas às vezes também sem fazer nada), noto que esses processos geralmente consomem CPU muito alta:
qemu-system-x86_64
gnome-shell
docker-scout
com.docker.backend
Freqüentemente, a compilação será concluída com êxito, mas esses processos ainda permanecerão usando CPU alta por um tempo depois - às vezes causando uma falha (quando nada mais estiver sendo compilado).
Não sou adverso em tentar algo em uma instalação totalmente nova do Debian, mas não estou convencido de que isso ajudará se eu não mudar mais nada em minha configuração.
OP aqui.
Nossa configuração é: caixa física roda ESXi > tem uma VM para Debian/Docker > tem um contêiner para nginx.
Originalmente, entendi mal o comentário de @GeraldSchneider - pensei que ele pretendia desinstalar o Gnome Desktop (talvez ele também), mas na verdade desinstalar o Docker Desktop faz todo o sentido agora, em retrospectiva.
Agradecemos aos comentários de @AB por apontar que:
Abandonei a instalação original e reinstalei o Debian do zero, seguindo estes guias:
Também mudei para o KDE, agora que as coisas relacionadas ao Gnome não são necessárias para o Docker Desktop. Só o tempo dirá, mas parece ser muito mais ágil nos tempos de resposta e sem travamentos (ainda)!! 🥳
Veja também (mas NÃO siga os guias):