Docker-proces gedood met cryptisch `Killed`-bericht

Een python-script uitvoeren in een docker-container en alles lijkt soepel te verlopen, ik zie enkele STDOUT-berichten, ongeveer 5 minuten later krijg ik een Killed-bericht zonder verdere uitleg en het proces stopt. Het opvragen van een db kan dus een probleem met de schijfruimte zijn, het kan een OOM-probleem zijn. Ik weet het niet zeker, maar ik heb geen idee waar ik logs over dit kill-bericht kan vinden, zodat ik tot de kern van dit probleem kan komen. Enig idee waar deze logs zijn?

Docker-machine draaien op Mac OSX.

Dat is eigenlijk alles wat het bericht zegt!

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

Bedankt!


Antwoord 1, autoriteit 100%

Docker voor Macbeperkt de beschikbare bronnen standaard tot 2GB! Dit is te laag voor de app die ik gebruik. De oplossing is om de geheugenlimiet te verhogen tot 8 GB, of hoeveel uw app nodig heeft.

(Ik heb een soortgelijk probleem, zij het met behulp van een JVM-toepassing, niet Python, en hier bereikt door Google te zoeken. Uit het verwijderde antwoord van @sergiuIk kan het probleem achterhalen.)

Aan de slag met Docker voor Maczegt:

Geavanceerd

Geavanceerde instellingen zijn:

CPU’s: Docker voor Mac is standaard ingesteld om de helft van het aantal beschikbare processors op de hostcomputer te gebruiken. Stel dit in op een hoger getal om de verwerkingskracht te vergroten; verlaag het getal om het te verlagen.

Geheugen: Docker voor Mac is standaard ingesteld om 2GB runtime-geheugen te gebruiken, toegewezen uit het totale beschikbare geheugen op uw Mac. Om het RAM-geheugen te vergroten, stelt u dit in op een hoger getal; om het te verlagen, verlaagt u het getal.

Swap: configureer de grootte van het wisselbestand indien nodig. De standaardwaarde is 1 GB.


Antwoord 2, autoriteit 11%

Met Docker voor Mac kunt u in de host-VM-naamruimte komen met:

docker run --net=host --ipc=host --uts=host --pid=host -it --security-opt=seccomp=unconfined --privileged --rm -v /:/host alpine /bin/sh

Voer vervolgens chroot /hostuit om root te wijzigen in de host-mount. Nu kunt u hulpprogramma’s zoals dmesggebruiken om te controleren op OOM-berichten (zoals de opmerkingen bij uw vraag suggereren).


Antwoord 3, autoriteit 2%

Dit gebeurt omdat uw toepassing al het beschikbare RAM-geheugen in beslag neemt.
U kunt het RAM-verbruik controleren en verhogen.

Dit werkte voor mij

Other episodes