Je suis nouveau sur Docker et j'essaie de suivre ce tutoriel pour configurer MemSQL à partir d'une image Docker - http://docs.memsql.com/4.0/setup/docker/ . Je suis sur un Mac, et le tutoriel utilise boot2docker
ce qui semble être obsolète.
La machine virtuelle a besoin de 4 Go de mémoire pour fonctionner. Le tutoriel spécifie comment faire cela avec boot2docker
mais je ne trouve pas de moyen de le faire avec la boîte à outils docker-machine / docker.
Voici la commande que j'utilise et l'erreur que j'obtiens en essayant simplement de suivre le didacticiel sans modifier la configuration de boot2docker.
docker run --rm --net=host memsql/quickstart check-system
Error: MemSQL requires at least 4 GB of memory to run.
macos
docker
virtualbox
docker-machine
memsql
DJElbow
la source
la source
check-system
programme ( github.com/memsql/memsql-docker-quickstart/blob/master/… ), je vois ces lignes qui détermineraient cette erreur.ONE_MB = 1024 ** 2
,virtual_memory = psutil.virtual_memory()
,if virtual_memory.total < ONE_MB * 3700: sys.stderr.write("Error: MemSQL requires at least 4 GB of memory to run.\n")
.Vous pouvez le faire via la ligne de commande. Par exemple, pour changer la machine de l'exécution par défaut de 1cpu / 2048 Mo de RAM:
Vous pouvez ensuite vérifier vos paramètres:
Et pour
docker-machine inspect
signaler l'état correct des choses, modifiez~/.docker/machine/machines/default/config.json
pour refléter vos modifications.la source
docker-machine inspect
, aucun changement ne sera affiché. Cependant, si vous exécutez,docker stats
vous verrez que les modifications ont été appliquées.config.json
fichier docker-machine pour refléter la taille réelle. Exemple: pourdefault
, comme utilisé dans l'exemple de solution, modifiez le~/.docker/machine/machines/default/config.json
fichier de sorte que la sous-propriétéMemory
(etCPU
si elle est également modifiée) sousDriver
soit remplacée par4096
. Ensuite,docker-machine inspect
affichera la valeur appropriée.Pour Docker version 1.12.1 (build: 12133) et supérieur sur macOS, il existe une option pour changer le processeur et la RAM de l'interface utilisateur et redémarrer le docker. Vous pouvez trouver les préférences dans la barre d'outils. Joindre des images pour plus de clarté.
Mise à jour: août 2020: Préférences -> Ressources (merci à @ swedge218)
Ancienne étape (probablement obsolète maintenant): Préférences -> Avancé -> ajuster les ressources -> Appliquer et redémarrer
la source
Mainteneur de Docker Machine ici. Je ne pense pas ajuster le
config.json
manuel fonctionnera.Vos deux options sont soit de créer la machine avec
--virtualbox-memory
set, soit d'ajuster la mémoire de la VM dans l'interface graphique de VirtualBox ("Paramètres> Système" pour cette VM je pense). Assurez-vous que la machine est hors tension et qu'il devrait y avoir un petit curseur qui fonctionne.EDIT: Une autre réponse montre que vous pouvez également effectuer l'opération sur place à partir de la ligne de commande en utilisant
VBoxManage
.la source
docker-machine inspect
cela continuera à signaler la quantité de mémoire d'origine même après l'avoir modifiée dans l'interface graphique de VirtualBox.docker-machine inspect
rapport le montant exact, vous ne devez modifierconfig.json
(d'oùinspect
obtient ses informations).Je n'ai pas pu faire fonctionner les autres réponses. La seule chose qui a fonctionné pour moi était de supprimer la machine par défaut et de la recréer avec plus de mémoire.
Ce correctif a été trouvé ici: https://www.ibm.com/developerworks/community/blogs/jfp/entry/Using_Docker_Machine_On_Windows?lang=en
la source
D'autres réponses ont montré comment changer la mémoire à l'aide de VBoxManage:
Pour confirmer la modification à partir de la ligne de commande:
OU
la source
fox xhyve (une autre virtualisation sous macos) vous pouvez modifier la propriété ~ / .docker / machine / default / config.json Driver / Memory (par défaut à 1024) puis redémarrer la machine docker pour appliquer les modifications
la source
~/.docker/machine/machines/default/config.json
. Merci 👍