Heim > Artikel > Backend-Entwicklung > Warum zeigt mein abgetrennter Docker-Container keine Python-Druckausgabe an?
Beim Ausführen von Python (2.7)-Anwendungen in einem getrennten Docker-Container (mithilfe des Flags -d) kann es zu Problemen kommen eine Situation, in der die Druckanweisungen der Anwendung keine Ausgabe erzeugen.
Python verwendet standardmäßig eine gepufferte Ausgabe, was bedeutet, dass die Ausgabe in einem Puffer gespeichert wird, bevor sie an den Bildschirm gesendet wird. In einem getrennten Container wird dieser Puffer möglicherweise nicht häufig genug geleert, was dazu führt, dass keine Ausgabe erfolgt.
Um dieses Problem zu beheben, kann die ungepufferte Ausgabe mit -u verwendet werden Flag:
CMD ["python", "-u", "main.py"]
Dadurch wird sichergestellt, dass die Ausgabe unabhängig von der Pufferung sofort auf den Bildschirm geschrieben wird Einstellungen.
Bei ungepufferter Ausgabe werden Druckanweisungen in den Docker-Protokollen sichtbar:
docker logs myapp > App started
Wenn das Flag -u nicht verwendet wird, verhält sich print in einem getrennten Zustand wie folgt Container:
Das obige ist der detaillierte Inhalt vonWarum zeigt mein abgetrennter Docker-Container keine Python-Druckausgabe an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!