Exécution d'un script python dans un conteneur de docker et tout semble fonctionner correctement, en voyant des messages STDOUT, environ 5 minutes dans J'obtiens un message Killed
sans autre explication et le Le processus s'arrête. L'interrogation d'une base de données pourrait donc être un problème d'espace disque, pourrait être un problème de MOO. Je ne suis pas sûr, mais je ne sais pas où trouver les journaux sur ce message de suppression afin que je puisse accéder à la racine de ce problème. Toutes les idées où sont ces journaux?
Exécution de docker-machine sur Mac OSX.
C'est vraiment tout ce que dit le message!
root@c7b800e0f276:/opt/mymodule# python
Python 2.7.13 (default, May 1 2017, 22:44:36)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from mymodule import model
>>> model.run('2017-04-01')
INFO:Deleting from input table.
INFO:Inserting into input table.
INFO:Querying input table for chunk.
Killed
root@c7b800e0f276:/opt/mymodule# exit
Merci!
Docker pour Mac limite par défaut la ressource disponible à 2 Go ! C'est trop bas pour l'application que j'exécute. La solution que j'essaie est d'augmenter la limite de mémoire à 8 Go.
(J'ai un problème similaire, bien que j'utilise une application JVM, pas Python, et atteint ici par la recherche Google. De la réponse supprimée par @ sergi je suis en mesure de comprendre le problème.)
Démarrer avec Docker pour Mac dit:
Les paramètres avancés sont:
CPU : Par défaut, Docker pour Mac est configuré pour utiliser la moitié du nombre de processeurs disponibles sur la machine hôte. Pour augmenter la puissance de traitement, définissez-la sur un nombre plus élevé; pour diminuer, abaissez le nombre.
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. Pour augmenter la RAM, définissez-la sur un nombre supérieur; pour le diminuer, abaissez le nombre.Swap : Configurez la taille du fichier de swap selon vos besoins. La valeur par défaut est 1 Go.
Avec Docker pour Mac, vous pouvez accéder à l'espace de noms Host VM avec:
docker run --net=Host --ipc=Host --uts=Host --pid=Host -it --security-opt=seccomp=unconfined --privileged --rm -v /:/Host Alpine /bin/sh
Exécutez ensuite chroot /Host
pour remplacer la racine par le montage hôte. Maintenant, vous pouvez utiliser des utilitaires comme dmesg
pour vérifier tout message OOM (comme le suggèrent les commentaires de votre question).