Użyj docker logs. Działa również w przypadku zatrzymanych kontenerów i przechwytuje całe strumienie STDOUT i STDERR głównego procesu kontenera:
$ 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
W przypadku stosu dockera, w którym jest on uruchamiany ponownie co kilka sekund: 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"nazwa stosu jest określona na początku polecenia.
x-yuri
19
docker logs --tail=50 <container id> dla ostatnich pięćdziesięciu wierszy - przydatne, gdy kontener działa przez długi czas.
@Whitefret, zaktualizowałem odpowiedź o Twoją sugestię. Oryginalna odpowiedź spowodowałaby ściągnięcie całego logu i ograniczenie go lokalnie, zajęłoby bardzo dużo czasu z dużym logiem i powolną siecią
Matthew
W menedżerze alertów widzę wiele takich komunikatów, ale nie jestem pewien, czy są one związane z alertem:
Arnav Bose
11
Możesz użyć poniższego polecenia, aby skopiować dzienniki nawet z opuszczonego kontenera:
Odpowiedzi:
Użyj
docker logs
. Działa również w przypadku zatrzymanych kontenerów i przechwytuje całe strumienie STDOUT i STDERR głównego procesu kontenera:źródło
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"
nazwa stosu jest określona na początku polecenia.docker logs --tail=50 <container id>
dla ostatnich pięćdziesięciu wierszy - przydatne, gdy kontener działa przez długi czas.źródło
Możesz użyć poniższego polecenia, aby skopiować dzienniki nawet z opuszczonego kontenera:
Na przykład:
źródło
Aby bezpośrednio wyświetlić plik dziennika opuszczonego kontenera w less, przewinięty do końca pliku, używam:
uruchom jako ./viewLogs.sh CONTAINERNAME
Ta metoda ma tę przewagę nad
docker logs
podejściami opartymi na tym, że plik jest otwierany bezpośrednio, a nie przesyłany strumieniowo.sudo jest konieczne, ponieważ ścieżka dziennika / plik zwykle należy do administratora
źródło