docker logs <c>不返回任何内容

时间:2017-09-21 17:32:36

标签: docker dockerfile docker-for-windows

我用

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

但是,当我和码头工作者-a&#39;我收到一条消息,说明此容器已退出。

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

但是这个命令什么都不返回。由于docker主机是Windows机器,我查看了〜\ AppData \ Local \ Docker,但是日志* .txt或install-log。*中的信息似乎对我没有任何帮助。如何获得有关容器“退出”原因的更多信息?

1 个答案:

答案 0 :(得分:2)

Docker容器在主进程完成时退出。这就是为什么你没有得到任何日志。

  

docker logs命令批量检索执行时出现的日志

     

(见: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