finestra mobile exec java app sfondo allegare registri
Per un'app Java in esecuzione all'interno di un contenitore docker dove dovrei inviare i miei log in modo che docker logs-f possa leggere l'output del log dell'applicazione java dopo che è stato in esecuzione per un po'?
Eseguo l'app java che si trova all'interno del contenitore docker attivo con qualcosa come il seguente
docker exec -d container-name java -jar /path-to-jar/java-app-1.0-SNAPSHOT.jar
Finora tutto bene esegue la mia app java Spring Boot.
Uno dei seguenti approcci funzionerebbe?
docker exec -d container-name java -jar /path-to-jar/java-app-1.0-SNAPSHOT.jar > /var/log/docker-id.log
O impostando il percorso del registro java impostazioni per una destinazione particolare?
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<root level="INFO">
<appender-ref ref="FILE" />
</root>
</configuration>
1 answers
Per eseguire un'applicazione in docker ed essere in grado di visualizzare i log, quindi eseguirla come segue funzionerà.
File Dockerfile
FROM base-image
COPY app.jar /opt/app.jar
CMD ["java","-jar","/opt/rate-upload-tool.jar"]
Crea immagine Docker
docker build -t java-app-image-name .
Esegui l'immagine docker in background
docker run --name app-container-name -d java-app-image-name
In seguito a ciò sarà possibile visualizzare i registri della finestra mobile
docker logs -f app-container-name