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

我的问题

当docker容器启动时,Docker容器仍然在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启动的退出的docker容器的日志?

更新

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

我的Makefile包含一个docker-compose down命令,这个命令是实例化的。

我无法重现您所描述的行为。 如果我从一个简单docker-compose.yaml

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

然后用docker-compose up运行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的版本以及重现此行为的特定步骤顺序。