2016-08-12 2 views
0

Ich habe eine Apache2 Perl-Anwendung in einem Docker-Container in Elastic Beanstalk ausgeführt, und ich habe Probleme mit den Apache2-Logs.Elastische Beanstalk Docker - Wie bekomme ich Container Logs

Das ist mein Dockerrun.aws.json Datei ist ...

{ 
    "AWSEBDockerrunVersion": "1", 
    "Ports": [ 
    { 
     "ContainerPort": "80" 
    } 
    ], 
    "Volumes": [ 
    { 
     "HostDirectory": "/container_mnt/www/", 
     "ContainerDirectory": "/var/www/" 
    }, 
    { 
     "HostDirectory": "/var/log/docker_apache2/", 
     "ContainerDirectory": "/var/log/apache2/" 
    } 
    ], 
    "Logging": "/var/log/docker_apache2" 
} 

ich eine .ebextensions Konfigurationsdatei haben, die die Instanz-Ordner einrichtet ...

container_commands: 
    01-command: 
    command: mkdir -p /container_mnt 
    02-command: 
    ... do stuff to setup my application folder in /var/www/ ... 
    03-command: 
    command: mkdir -p /var/log/docker_apache2 

Wenn ich zu verbinden die Instanz mit ssh Ich kann sehen, dass die Protokolle in den richtigen Ordner geschrieben werden. Allerdings sind die Apache-Protokolle nicht enthalten, wenn ich die Protokolle von der Konsole abrufe.

Gibt es noch etwas, was ich tun muss, um die Protokollierung hier erscheinen zu lassen?

Antwort

1

Es stellt sich heraus, dass ich den Zweck des Attributs "Logging" falsch verstanden habe. Ich dachte, es bezieht sich auf einen Host-Ordner, aber eigentlich sollte es ein Container-Ordner sein.

Ich hatte gerade den Wert zu ändern ... aus dem Volumes Array

"Logging": "/var/log/apache2/" 

und entfernen Sie den Eintrag.

Verwandte Themen