web-dev-qa-db-fra.com

Comment attribuer plus de mémoire au conteneur de menu fixe

Pendant que le titre se lit, j'essaie d'attribuer plus de mémoire à mon conteneur. J'utilise une image de docker hub appelée "aallam/Tomcat-mysql" au cas où ce serait pertinent.

Lorsque je le démarre normalement sans indicateurs spéciaux, la mémoire est limitée à 2 Go (même si je lis 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 explicitement la mémoire, 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 le VM est ce qui le limite. Mais alors, pourquoi les statistiques de docker indiquent-elles que la taille maximale du conteneur est de 2 Go?

69
kane

La limite 2GB que vous voyez est la mémoire totale du VM dans lequel le menu fixe s'exécute.

Si vous utilisez Docker pour Windows ou Docker pour Mac, vous pouvez facilement l'augmenter à partir de la baleine ???? icône dans la barre des tâches, puis allez dans Préférences -> Avancé:

Docker Preferences

Mais si vous utilisez VirtualBox, ouvrez VirtualBox, sélectionnez et configurez la mémoire attribuée à Docker-Machine.

Voir ceci pour Mac:

https://docs.docker.com/docker-for-mac/#memory

MÉMOIRE Par défaut, Docker pour Mac est configuré pour utiliser 2 Go de mémoire d'exécution allouée à partir de la mémoire totale disponible sur votre Mac. Vous pouvez augmenter le RAM de l'application pour obtenir des performances plus rapides en définissant ce nombre sur une valeur supérieure (par exemple, 3) ou inférieure (sur 1) si vous souhaitez que Docker pour Mac utilise moins de mémoire.

Pour les fenêtres:

https://docs.docker.com/docker-for-windows/#advanced

Mémoire - Modifiez la quantité de mémoire utilisée par Docker pour Windows Linux VM

136
Robert

Si vous voulez changer le conteneur par défaut et que vous utilisez Virtualbox, vous pouvez le faire via la ligne de commande/CLI:

docker-machine stop
VBoxManage modifyvm default --cpus 2
VBoxManage modifyvm default --memory 4096
docker-machine start
12
destroy-everything

Allouez une quantité maximale de mémoire à votre poste de travail à partir de (préférence du menu fixe -> avance) capture d'écran des paramètres avancés. . Cela définira la limite maximale d'utilisation de docker lors de l'exécution de conteneurs. Maintenant, lancez votre image dans un nouveau conteneur avec -m = 4g flag pendant 4 Go ou plus. par exemple.

docker run -m=4g {imageID}

N'oubliez pas d'appliquer les modifications d'augmentation de limite de bélier. Redémarrez le menu fixe et vérifiez que la limite du bélier a bien augmenté. Cela peut être l’un des facteurs pour lesquels vous ne voyez pas l’augmentation de la limite en bélier dans les conteneurs Docker.

5
Market Queue