当docker容器以docker run
退出时启动时,它仍会列在docker ps -a
中,并且可以使用docker logs <id>
查看其日志。
但是,当使用docker-compose
启动docker容器时,它只会在docker ps
和docker 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
编辑了实例。
答案 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
如果您看到不同的行为,请更新您的问题,以包含您正在使用的docker
和docker-compose
版本以及重现该行为的特定步骤序列。