2015-10-08 11 views
29

docker-compose kullanarak birkaç kapsayıcı çalıştırıyorum. Uygulama günlüklerini docker-compose logs komutu ile görebiliyorum. Ancak, örneğin bir yere göndermek için ham günlük dosyasına erişmek istiyorum? Nerede bulunuyor? Her konteynerde (konteyner içinde?) Ayrı bir kayıt var, ama onu nerede bulabilirim?Kapsayıcıdan günlükleri olan bir günlük dosyası nerede?

cevap

56

bir kabın günlükleri bulunabilir hangi

36

Sen docker inspect onların günlükleri nerede olduğunu görmek için her konteyner yapabilirsiniz:

  • issue 1083: ilgi

    docker inspect --format='{{.LogPath}}' $INSTANCE_ID 
    

Docker 1.8 ve docker- docker compose log driver kullanarak günlük boyutunu sınırlamak ve zaten bir yöntem var olur 1.4 oluşturmak log-opt max boyutu:

log_driver: "json-file" 
log_opt: 
    max-size: "100k" 
    max-file: "20" 
durdurulur değilse çıkış varsayılan günlük formunu kullanırsanız (

/var/lib/docker/containers/<container id>/<container id>-json.log 

:

0

direkt olarak daha az log dosyasını görüntülemek için json) olduğu, I kullanma:

docker inspect $1 | grep 'LogPath' | sed -n "s/^.*\(\/var.*\)\",$/\1/p" | xargs sudo less 

çalıştırmak ./viewLogs.sh ContainerName

olarak