(-d フラグを使用して) 切り離された Docker コンテナで Python (2.7) アプリケーションを実行すると、ユーザーは次のような問題に遭遇する可能性があります。アプリケーションの print ステートメントが出力を生成しない状況。
Python はデフォルトでバッファリングされた出力を使用します。つまり、画面に送信する前に出力をバッファーに保存します。デタッチされたコンテナーでは、このバッファーが十分な頻度でフラッシュされず、出力が失われる可能性があります。
この問題を解決するには、バッファーなし出力を -u オプションで使用できます。 flag:
CMD ["python", "-u", "main.py"]
これにより、バッファリングに関係なく、出力がすぐに画面に書き込まれるようになります。 settings.
バッファリングされていない出力では、print ステートメントが Docker ログに表示されます:
docker logs myapp > App started
-u フラグが使用されていない場合、print は切り離された状態で次のように動作します。コンテナ:
以上が切り離された Docker コンテナに Python の印刷出力が表示されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。