Estoy ejecutando Apache2 en un contenedor acoplable y no quiero escribir nada en el disco, escribiendo registros en stdout y stderr. He visto algunas formas diferentes de hacer esto ( Supervisor y stdout / stderr , registro de acceso de Apache a stdout ) pero estos parecen trucos. ¿No hay forma de hacer esto por defecto?
Para que quede claro, no quiero ajustar el registro, ya que eso provocará que las cosas se escriban en el disco en el contenedor.
apache-2.2
docker
aronchick
fuente
fuente
Respuestas:
funciona en ubuntu y centos para mí
fuente
domain.conf
archivo o.htaccess
si no está utilizando aconf
.¿Qué tal si coloca esto en su Dockerfile después de instalar el paquete apache2?
Asumiendo que este es el camino de los registros. Es para Ubuntu 14.04 y también funciona para Ubuntu 16.04.
Nota: si está seguro de que los enlaces simbólicos
/dev/stdout
o/proc/stderr
están allí, también puede usarlos. Prefiero la ruta al archivo real ya que esto está garantizado presente.fuente
No es específicamente una respuesta solicitada, pero tal vez una mejor manera, dependiendo de su escenario, sería no iniciar sesión en stdout / stderr. Simplemente canalice los registros a cat en formato JSON. Esto eliminaría la necesidad de diferenciar las secuencias, ya que el json podría tener los datos necesarios para distinguirlas. por ejemplo, algo como lo siguiente. Esto puede ser ingerido mucho más fácilmente en algo como graylog
También hay un módulo de registro gelf, por lo que también puede transmitir directamente desde apache a un servidor de tipo graylog si lo desea
fuente