Je viens juste de résoudre ce problème avec apache2, et je me suis débattu avec l'utilisation de CustomLog pour essayer de rediriger vers le site de /proc/1/fd/1
mais je n'ai pas réussi à le faire fonctionner. Dans mon implémentation, apache ne fonctionnait pas en tant que pid 1
donc La réponse de kolypto n'a pas fonctionné tel quel. L'approche de Pieter semblait convaincant, alors j'ai fusionné les deux et le résultat fonctionne à merveille :
# Redirect apache log output to docker log collector
RUN ln -sf /proc/1/fd/1 /var/log/apache2/access.log \
&& ln -sf /proc/1/fd/2 /var/log/apache2/error.log
Techniquement, cela permet de garder l'apache access.log
y error.log
va stdout
y stderr
en ce qui concerne le collecteur de logs de Docker, mais ce serait génial s'il y avait un moyen de séparer les deux à l'extérieur de le conteneur, comme un interrupteur pour docker logs
qui ne montrerait que l'un ou l'autre...
0 votes
Ils vont déjà dans le syslog. Vous pouvez simplement les récupérer à partir de là !
0 votes
@MichaelHampton, cela semble bien, mais Docker exécute un seul processus qui peut écrire sur stdout, et cela ressemble à la combinaison de deux d'entre eux ?
1 votes
Vous pouvez avoir un processus démon qui utilise syslog et avoir un processus frontal qui imprime ?