Comment attribuer plus de mémoire au conteneur docker

comme le titre le 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.

quand je démarre normalement sans aucun drapeau 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)

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 configurer 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 c'est peut-être la MV qui la limite. Mais alors pourquoi les statistiques de docker montrent que la limite de taille du conteneur est de 2 Go?

32
demandé sur mohan08p 2017-06-14 02:59:34

2 réponses

2GB limite que vous voyez est la mémoire totale de la VM dans laquelle docker s'exécute.

si vous utilisez docker-for-windows ou docker-for-mac, vous pouvez facilement l'augmenter à partir de L'icône Whale dans la barre des tâches (allez à Paramètres, etc)

si vous utilisez VirtualBox derrière, ouvrez VirtualBox, sélectionnez et configurez la mémoire assignée docker-machine.

voir ceci pour Mac:

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

mémoire Par défaut, Docker for Mac est défini pour utiliser 2 Go de mémoire d'exécution, alloués à partir de la mémoire totale disponible sur votre Mac. Vous pouvez augmenter la RAM sur l'application pour obtenir des performances plus rapides en positionnant ce nombre plus haut (par exemple à 3) ou plus bas (à 1) si vous voulez que Docker pour Mac utilise moins de mémoire.

Pour Windows:

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

Mémoire - Modifier la quantité de mémoire le menu fixe pour Windows, Linux, VM utilise

58
répondu Robert 2017-06-14 00:20:35

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
7
répondu destroy-everything 2018-01-28 02:05:26