2016-06-30 51 views
27

1G RAM'de bir ana bilgisayarda çalışan bir docker kabı var (aynı ana bilgisayarda çalışan başka kaplar da var). Bu docker kabındaki uygulama, belleği çok fazla tüketebilen bazı görüntüleri deşifre edecektir.Docker kabının neden çıkma sebebi nasıl bilinir?

Zaman zaman bu kapsayıcıdan çıkılır. Eminim, hafızamdan kaynaklanıyor ama emin değilim. Kök nedenini bulmak için bir yönteme ihtiyacım var. Bu şekilde, bu konteynerin ölümüyle ilgili ne olduğunu bilmek için var mı?

+1

Bu kapsayıcının günlüklerini 'docker günlükleri ' aracılığıyla kontrol edebilirsiniz. – techtabu

+0

ama konteyner çıktı, sanırım daha fazla kaydedemiyorum? –

+0

Sadece makinemi denedim. Kaptan çıktığında bile günlüklere erişebilirsiniz. –

cevap

46

Diğerleri uygulamanın çıktısını görüntülemek için docker logs $container_id'dan bahsetmiştir. Bu her zaman kontrol edilecek ilk şeyim olurdu.

Ardından, devlet üzerinde ayrıntılarını görüntülemek için bir docker inspect $container_id çalıştırabilirsiniz örn:

"State": { 
     "Status": "exited", 
     "Running": false, 
     "Paused": false, 
     "Restarting": false, 
     "OOMKilled": false, 
     "Dead": false, 
     "Pid": 0, 
     "ExitCode": 2, 
     "Error": "", 
     "StartedAt": "2016-06-28T21:26:53.477229071Z", 
     "FinishedAt": "2016-06-28T21:26:53.478066987Z" 
    }, 

"OOMKilled" Kapsayıcı bellek sınırlarını aşan ve Docker Kills true olacak orada önemli hat Uygulamanın. Ayrıca, uygulamanızın çıkışının nedenini belirleyip belirlemediğini görmek için çıkış kodunu da aramak isteyebilirsiniz.

+1

Anladığım kadarıyla benim konteynerim gitti, "teftiş" nasıl çalışacak? Yukarıdaki tartışmadan, uygulama bittiğinde, konteyner de ölecektir. Aynı görüntüyü yeniden başlatmak mı istiyorsun? –

+2

@LiBin bir konteyner ölünce silip süpürmez, durum = durmuş veya çıkmış gibi durma durumuna geçer. 'docker ps -a' ve kendiniz için bakın –

+0

@SamuelToh teşekkürler. şimdi açık. –