我的问题
当以docker run退出启动一个码头容器时,它仍然在docker ps -a中列出,它的日志可以用docker logs <id>查看。
但是,当使用docker-compose启动对接容器时,它只在运行时出现在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-ed实例。
发布于 2017-09-18 19:58:09
我无法再现你所描述的行为。如果我从一个简单的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的版本,以及重现该行为的特定步骤序列。
https://stackoverflow.com/questions/46287048
复制相似问题