docker 记录 <C> returns 无

docker logs <C> returns nothing

我用

构建 运行 一个 docker 图像
docker run --detach --name api rkevinburton/myagsourceapi

但是当我 'docker ps -a' 我收到一条消息说这个容器已经退出。

CONTAINER ID        IMAGE                        COMMAND             CREATED             STATUS                     PORTS               NAMES
ee956fbf1d7f        rkevinburton/myagsourceapi   "/bin/bash"         10 seconds ago      Exited (0) 8 seconds ago                       api

所以我想找出它退出的原因。所以我发出命令

docker logs ee

但是这个命令returns什么都没有。由于 docker 主机是一台 Windows 机器,我查看了 ~\AppData\Local\Docker 但 log*.txt 或 install-log.* 中的信息似乎对我没有任何帮助。我怎样才能获得更多关于为什么容器 'Exited' 的信息?

Docker 容器在主进程完成时退出。这就是为什么您没有收到任何日志的原因。

The docker logs command batch-retrieves logs present at the time of execution.

(see: https://docs.docker.com/engine/reference/commandline/logs/)

一个例子:

以下将创建一个新容器并启动它:

docker run -d --name=my_test_container alpine ping -c 20 127.0.0.1
[----run----]   [--------name--------] [image][-----command------]

ping 命令停止之前尝试使用以下命令:

  • docker logs my_test_container
  • docker logs --follow my_test_container

第一个显示 ping 打印出的内容(直到那时),第二个显示 ping 打印出新行时的日志。

20 次 ping 请求后,ping 命令完成,容器停止。

ubuntu@ubuntu:~$ docker container ls -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES
e8f371000146        alpine              "ping -c 20 127.0.0.1"   29 seconds ago      Exited (0) 9 seconds ago                       my_test_container