由docker-compose创建的容器在​​终止后不会出现在docker ps中

时间:2017-09-18 19:44:42

标签: docker docker-compose

我的问题

当docker容器以docker run退出时启动时,它仍会列在docker ps -a中,并且可以使用docker logs <id>查看其日志。

但是,当使用docker-compose启动docker容器时,它只会在docker psdocker logs运行时显示。存在后,其日志无法访问。

毋庸置疑,我没有删除容器,也没有使用--rm或任何其他删除参数。

实施例

当容器正在运行时:

$ sudo docker logs d6a06d6655b1

>  test /usr/src/what/ever/src
> ava "--match=gong*" "--verbose" "--serial"


  ✔ gong › gong_tests › gong1
...

容器退出后

$ sudo docker logs d6a06d6655b1
Error response from daemon: No such container: d6a06d6655b1

我的问题

如何查看docker-compose启动的已退出泊坞广告容器的日志?

更新

这对我来说是一个愚蠢的错误,但在极少数情况下,它可能与未来的其他人有关:

我的Makefile包含一个docker-compose down命令,rm编辑了实例。

1 个答案:

答案 0 :(得分:2)

我无法重现您描述的行为。如果我开始使用简单的docker-compose.yaml

version: "3"

services:
  example:
    image: alpine
    command: "echo this is a test"

然后使用docker-compose up运行

Starting compose_example_1 ... 
Starting compose_example_1 ... done
Attaching to compose_example_1
example_1  | this is a test
compose_example_1 exited with code 0

容器在docker ps -a

的输出中按预期显示
CONTAINER ID        IMAGE                         COMMAND                  CREATED              STATUS                      PORTS               NAMES
929fa9ccc631        alpine                        "echo this is a te..."   About a minute ago   Exited (0) 32 seconds ago                       compose_example_1

docker logs无问题地工作:

$ docker logs compose_example_1
this is a test

如果您看到不同的行为,请更新您的问题,以包含您正在使用的dockerdocker-compose版本以及重现该行为的特定步骤序列。