J'ai un MVC Core 2.2 avec plusieurs projets dans des conteneurs Docker. Lorsque je l'exécute, il faut environ 4 minutes pour créer les images et allumer les conteneurs. J'utilise docker-compose
.
Cela semble lent, étant donné qu'il s'agit d'un petit développement et que j'ai un ordinateur décent. Il semble que les ressources ne soient pas utilisées, car le processeur est inférieur à 8% lors de la création de l'image, le ram ne bouge pas, le disque est presque à 0%. GPU 0%. Je peux voir un pic d'Internet pendant quelques secondes pendant que l'image Microsoft est téléchargée, mais c'est tout. J'ai donné à docker les ressources suivantes:
Cores: 8
RAM: 8GB
SWAP: 3gb
Disk Image Size: 64GB (30.5 GB used)
Avez-vous des idées sur la façon dont ces ressources matérielles peuvent être utilisées pour accélérer les builds?
Réponses:
Cela semble être un problème général avec Docker sur Windows 10 car j'ai trouvé plusieurs threads sur le Web parlant de ce problème et il ne semble généralement pas lié aux ressources matérielles affectées à Docker.
J'ai donc fait quelques essais sur mon instance virtuelle Windows 10 et j'ai remarqué un comportement similaire en exécutant certains conteneurs basés sur Linux en utilisant un exemple docker-compose.
Ici, je signale des étapes, de toutes celles que j'ai trouvées lors de mes recherches, qui semblaient vraiment accélérer les opérations lors de mes tests:
Ajoutez des répertoires de développement (par exemple git repos) et docker sur:
Liste d'exclusion de Windows Defender ( https://support.microsoft.com/en-us/help/4028485/windows-10-add-an-exclusion-to-windows-defender-antivirus )
REMARQUE: ici, essayez d'abord de désactiver Windows Defender pour voir si cela aide
Liste d'exclusion d'indexation Windows (Panneau de configuration -> Options d'indexation)
Flush dns exécutant la commande suivante:
Essayez de changer DNS par exemple pour Google one (8.8.8.8 - 8.8.4.4) ou Cloud Fare one (1.1.1.1 - 1.0.0.1) (ici, comme j'avais déjà le DNS Google, j'ai essayé de la manière opposée de définir un DNS plus lent et vraiment les opérations sont devenues un peu plus lentes)
Ajouter une exception si un autre antivirus est installé (également ici, essayez d'abord de les désactiver pour voir si cela peut vous aider)
Supprimez tout le support IPV6 et NetBIOS de toutes les interfaces réseau
REMARQUE: Quelqu'un vous conseille de désinstaller Docker et d'installer après cela, mais je n'ai pas testé car j'ai commencé à partir d'une nouvelle installation de Windows 10.
J'espère que cela peut aussi aider votre environnement!
Meilleures références que j'ai trouvées:
la source
vérifier s'il y a trop de fichiers dans le répertoire de construction, s'il y a dcoker besoin d'envoyer tous les fichiers au démon qui a aussi besoin de temps pour finir ......
vous pouvez ignorer les fichiers indésirables en utilisant
.dockerignore
la source