Gunakan docker logs. Ini juga berfungsi untuk container yang dihentikan dan menangkap seluruh aliran STDOUT dan STDERR dari proses utama container:
$ docker run -d --name test debian echo "Hello World"
02a279c37d5533ecde76976d7f9d1ca986b5e3ec03fac31a38e3dbed5ea65def
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
49daa9d41a24 debian "echo test" 2 minutes ago Exited (0) 2 minutes ago test
$ docker logs -t test
2016-04-16T15:47:58.988748693Z Hello World
Untuk tumpukan buruh pelabuhan yang dimulai ulang setiap beberapa detik: stack=s1 && c=$(task_id=$(docker stack ps "$stack" --filter desired-state=shutdown | tail -n +2 | head -n 1 | awk '{print $1}') && docker inspect --format '{{.Status.ContainerStatus.ContainerID}}' "$task_id") && docker logs "$c"Nama tumpukan ditentukan di awal perintah.
x-yuri
19
docker logs --tail=50 <container id> untuk lima puluh baris terakhir - berguna bila penampung Anda telah berjalan lama.
@Whitefret, saya telah memperbarui jawaban dengan saran Anda. Jawaban asli akan menarik seluruh log ke bawah dan membuntutinya secara lokal, akan memakan waktu yang sangat lama dengan log yang besar dan jaringan yang lambat
Matthew
Di manajer peringatan, saya melihat banyak pesan ini tetapi tidak yakin apakah ini terkait dengan peringatan:
Arnav Bose
11
Anda dapat menggunakan perintah di bawah ini untuk menyalin log bahkan dari penampung yang keluar:
Jawaban:
Gunakan
docker logs
. Ini juga berfungsi untuk container yang dihentikan dan menangkap seluruh aliran STDOUT dan STDERR dari proses utama container:sumber
stack=s1 && c=$(task_id=$(docker stack ps "$stack" --filter desired-state=shutdown | tail -n +2 | head -n 1 | awk '{print $1}') && docker inspect --format '{{.Status.ContainerStatus.ContainerID}}' "$task_id") && docker logs "$c"
Nama tumpukan ditentukan di awal perintah.docker logs --tail=50 <container id>
untuk lima puluh baris terakhir - berguna bila penampung Anda telah berjalan lama.sumber
Anda dapat menggunakan perintah di bawah ini untuk menyalin log bahkan dari penampung yang keluar:
Misalnya:
sumber
Untuk langsung melihat logfile dari kontainer yang keluar dalam waktu kurang, gulir ke akhir file, saya menggunakan:
dijalankan sebagai ./viewLogs.sh CONTAINERNAME
Metode ini memiliki keuntungan atas
docker logs
pendekatan berbasis, yaitu file dibuka secara langsung, bukan di-streaming.sudo diperlukan, karena LogPath / File biasanya dimiliki oleh root
sumber