docker-compose创build的容器在终止后不会出现在docker ps中
我的问题
当docker容器启动时,Docker容器仍然在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
启动的退出的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
如果您看到不同的行为,请更新您的问题,以包括您正在使用的docker
和docker-compose
的版本以及重现此行为的特定步骤顺序。