有什么办法可以查看已退出的容器的日志?
我可以使用来获取已退出容器的容器ID,docker ps -a
但是我想知道它在运行时发生了什么。
Answers:
使用docker logs
。它也适用于停止的容器,并捕获容器主过程的整个STDOUT和STDERR流:
$ 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
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"
在命令开头指定堆栈名称。
docker logs --tail=50 <container id>
最后五十行-当您的容器已经运行很长时间时很有用。