Eu tenho um MVC Core 2.2 com vários projetos em contêineres de encaixe. Quando o executo, são necessários aproximadamente 4 minutos para criar as imagens e acionar os contêineres. Eu estou usando docker-compose
.
Isso parece lento, já que esse é um desenvolvimento pequeno e eu tenho um computador decente. Parece que os recursos não estão sendo usados, porque o processador está abaixo de 8% durante a criação da imagem, a ram não se move, o disco quase a 0%. GPU 0%. Eu posso ver a Internet disparando por alguns segundos enquanto a imagem da Microsoft é baixada, mas é isso. Dei ao docker os seguintes recursos:
Cores: 8
RAM: 8GB
SWAP: 3gb
Disk Image Size: 64GB (30.5 GB used)
Alguma idéia de como esses recursos de hardware podem ser usados para tornar as construções mais rápidas?
Respostas:
Parece ser um problema geral com o Docker no Windows 10, porque eu encontrei vários threads na web falando sobre esse problema e, geralmente, não está relacionado ao recurso de hardware atribuído ao Docker.
Portanto, fiz algumas tentativas na minha instância virtual do Windows 10 e notei um comportamento semelhante ao executar alguns contêineres baseados em Linux usando um exemplo de docker-compose.
Aqui, relato etapas, de todas as que encontrei durante minhas pesquisas, que realmente pareciam acelerar as operações durante meus testes:
Adicione diretórios de desenvolvimento (por exemplo, git repos) e imagem de janela de encaixe em:
Lista de exclusão do Windows Defender ( https://support.microsoft.com/en-us/help/4028485/windows-10-add-an-exclusion-to-windows-defender-antivirus )
NOTA: Aqui, primeiro tente desabilitar o Windows Defender para ver se ajuda.
Lista de exclusão de indexação do Windows (Painel de controle -> Opções de indexação)
Libere o DNS executando o seguinte comando:
Tente mudar o DNS para, por exemplo, Google one (8.8.8.8 - 8.8.4.4) ou Cloud Fare one (1.1.1.1 - 1.0.0.1) (aqui, como eu já tinha o DNS do Google, tentei da maneira oposta, definindo um DNS mais lento e realmente as operações se tornaram um pouco mais lentas)
Adicione exceção se qualquer outro antivírus estiver instalado (também tente aqui primeiro desativá-los para ver se isso pode ajudar)
Remova todo o suporte IPV6 e NetBIOS de todas as interfaces de rede
NOTA: Alguém aconselhou desinstalar o Docker e instalar após a aplicação, mas não testei porque iniciei em uma nova instalação do Windows 10.
Espero que estes possam ajudar também no seu ambiente!
Melhores referências que encontrei:
fonte
verifique se há muitos arquivos no diretório build, se o dcoker precisa enviar todos os arquivos para o daemon, que também precisam de tempo para concluir ......
você pode ignorar os arquivos indesejados usando
.dockerignore
fonte