كيفية الحصول على فب-التيار الوطني الحر لتسجيل الدخول إلى ستدوت / ستدير عند تشغيل في حاوية عامل الميناء

لدي فب-التيار الوطني الحر في حاوية عامل الميناء وفي Dockerfile أنا تحرير ملف التكوين التيار الوطني الحر (/etc/php5/fpm/pool.d/www.conf) لإعداد سجلات الوصول للذهاب إلى /var/log/fpm-access.log وسجلات الخطأ للذهاب إلى /var/log/fpm-php.www.log:

# Do some php-fpm config#  Redirect worker stdout and stderr into main error log#  Activate the fpm access log#  Enable display errors#  Enable the error logRUN sed -i '/^;catch_workers_output/ccatch_workers_output = yes' /etc/php5/fpm/pool.d/www.conf && \    sed -i '/^;access.log/caccess.log = /var/log/fpm-access.log' /etc/php5/fpm/pool.d/www.conf && \    sed -i '/^;php_flag\[display_errors\]/cphp_flag[display_errors] = off' /etc/php5/fpm/pool.d/www.conf && \    sed -i '/^;php_admin_value\[error_log\]/cphp_admin_value[error_log] = /var/log/fpm-php.www.log' /etc/php5/fpm/pool.d/www.conf && \    sed -i '/^;php_admin_flag\[log_errors\]/cphp_admin_flag[log_errors] = on' /etc/php5/fpm/pool.d/www.conf

هذا يعمل بشكل جيد - يمكنني الحصول على قذيفة في الحاوية لرؤية السجلات. لكن... إنها ليست أفضل الممارسات.

المشكلة هي عندما أحاول استخدام عامل الميناء سجل جامع - أحتاج فب-التيار الوطني الحر لتسجيل الدخول إلى ستدوت أو ستدير حتى عامل الميناء يمكن القبض عليهم وتوفر لهم docker logs الأمر.

حاولت القيام بذلك في Dockerfile (وهي فكرة قمت بنسخها من الرسمية إنجن إكس عامل الميناء صورة):

# Redirect fpm logs to stdout and stderr so they are forwarded to the docker log collectorRUN ln -sf /dev/stdout /var/log/fpm-access.log && \    ln -sf /dev/stderr /var/log/fpm-php.www.log

هذا لا يعمل - لا ينظر إلى سجلات الوصول من docker logs - أحاول معرفة السبب? هل أي شخص آخر يستخدم التيار الوطني الحر في عامل الميناء إدارة للحصول على تسجيل العمل إلى عامل الميناء سجل جامع?

حسنا ، طريقة القيام بذلك هي إرسال الخطأ وسجلات الوصول إلى العنوان التالي:

/proc/self/fd/2

في php5-fpm.log أضف:

access.log = /proc/self/fd/2error_log = /proc/self/fd/2

ملاحظة: access.log صحيح ، تجد في هذه الصفحة https://www.php.net/manual/en/install.fpm.configuration.php

لاحظ أن خبز في التيار الوطني الحر التكوين للحصول على أحدث إصدار من المسؤول فب التيار الوطني الحر عامل الميناء صورة يكتب إلى تيارات القياسية:

error_log = /proc/self/fd/2...; if we send this to /proc/self/fd/1, it never appearsaccess.log = /proc/self/fd/2

سوف تظهر سجلات فب-التيار الوطني الحر فقط في ستدير - حتى تتمكن من ربط الرمز fpm.log إلى /dev/stderr إذا كنت تريد.

ln -sf /dev/stderr /var/log/fpm-access.logln -sf /dev/stderr /var/log/fpm-error.log