Au fur et à mesure que le titre se lit, j'essaie d'attribuer plus de mémoire à mon conteneur. J'utilise une image du hub docker appelée "aallam / tomcat-mysql" au cas où cela serait pertinent.
Lorsque je le démarre normalement sans aucun indicateur spécial, il y a une limite de mémoire de 2 Go (même si j'ai lu que la mémoire est illimitée si elle n'est pas définie)
Voici mes statistiques de docker
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
ba57d6c9e9d2 0.22% 145.6 MiB / 1.952 GiB 7.29% 508 B / 508 B 0 B / 6.91 MB 68
J'ai essayé de définir la mémoire explicitement comme ça mais avec les mêmes résultats
docker run -d --memory=10g --memory-swap=-1 -e MYSQL_PASSWORD=password -p 3307:3306 -p 8081:8080 aallam/tomcat-mysql
J'ai lu que peut-être la VM est ce qui la restreint. Mais alors pourquoi les statistiques de docker montrent-elles que la limite de taille du conteneur est de 2 Go?
Allouez la mémoire maximale à votre machine docker à partir de (préférence docker -> avance)
Capture d'écran des paramètres avancés:
Cela définira la limite maximale de consommation du docker lors de l'exécution de conteneurs. Maintenant, exécutez votre image dans un nouveau conteneur avec l'option -m = 4g pour 4 Go de RAM ou plus. par exemple
N'oubliez pas d'appliquer les changements d'augmentation de la limite de RAM. Redémarrez le docker et vérifiez que la limite de RAM a bien augmenté. Cela peut être l'un des facteurs pour lesquels vous ne voyez pas l'augmentation de la limite de RAM dans les conteneurs Docker.
la source
Si vous souhaitez modifier le conteneur par défaut et que vous utilisez Virtualbox, vous pouvez le faire via la ligne de commande / CLI:
la source