Question Mise à jour de max_map_count pour l'hôte ElasticSearch docker container Mac


j'utilise ce conteneur pour commencer elasticsearch dans docker. Conformément à Manuel Je dois mettre à jour max_map_count pour démarrer le conteneur

sudo sysctl -w vm.max_map_count = 262144

mais .. je peux le mettre à jour dans mon hôte (conteneur) APRÈS que je le démarre alors que je ne peux pas le démarrer. Est-ce que je fais quelque chose de mal?

ERREUR: bootstrap vérifie les zones max de la mémoire virtuelle ont échoué   vm.max_map_count [65530] probablement trop bas, augmenter au moins [262144]

Si j'essaie de le faire sur ma machine hôte (qui est Mac), j'obtiens l'erreur suivante.

sysctl: inconnu oid 'vm.max_map_count'

Le moteur Docker installe la machine virtuelle Lunix sur laquelle tous les conteneurs sont en cours d'exécution. Donc, la commande pour augmenter la limite doit être exécutée pour l'hôte Linux, pas pour le Mac.

Comment accéder à Linux VM via un terminal installé par le moteur Docker?


10
2017-12-16 21:29


origine


Réponses:


Sur la boîte à outils Docker

Si vous êtes dans la boîte à outils docker, essayez le client docker à partir du terminal, puis créez les configs:

docker-machine ssh
sudo sysctl -w vm.max_map_count=262144
exit

Sur Docker For Mac:

Le paramètre vm_max_map_count doit être défini dans la machine virtuelle xhyve:

$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty

S'il vous demande un nom d'utilisateur et un mot de passe avec root et sans mot de passe.

S'il n'y a qu'un écran vide, appuyez sur RETOUR.

Configurez ensuite le paramètre sysctl comme vous le feriez pour Linux:

sysctl -w vm.max_map_count=262144

Quittez par Control-A Control- \.

Se les docs ici.

Persistance

Dans certains cas, cette modification ne persiste pas lors des redémarrages de la machine virtuelle. Donc pendant screen'd dans, éditer le fichier /etc/sysctl.d/00-alpine.conf et ajouter le paramètre vm.max_map_count=262144 à la fin du fichier.


22
2017-12-20 21:32



Sur le dernier Docker pour Mac (Version 18.06.0-ce-mac70):

$ screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

Sur l'écran vide, appuyez sur RETOUR.

Configurez ensuite le paramètre sysctl comme vous le feriez pour Linux:

sysctl -w vm.max_map_count=262144

Quitter par Control- \


0
2017-08-01 00:33