Lors de l'exécution d'applications Python (2.7) dans un conteneur Docker détaché (à l'aide de l'indicateur -d), les utilisateurs peuvent rencontrer une situation dans laquelle les instructions d'impression de l'application ne produisent aucune sortie.
Python utilise la sortie mise en mémoire tampon par défaut, ce qui signifie qu'il stocke la sortie dans un tampon avant de l'envoyer à l'écran. Dans un conteneur détaché, ce tampon peut ne pas être vidé assez fréquemment, ce qui entraîne l'absence de sortie.
Pour résoudre ce problème, une sortie sans tampon peut être utilisée avec l'option -u flag :
CMD ["python", "-u", "main.py"]
Cela garantit que la sortie est écrite immédiatement à l'écran, quelle que soit la mise en mémoire tampon paramètres.
Avec une sortie sans tampon, les instructions d'impression seront visibles dans les journaux Docker :
docker logs myapp > App started
Lorsque l'indicateur -u n'est pas utilisé, l'impression se comporte comme suit dans un format détaché conteneur :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!