如何使用docker-compose运行查看日志输出?
问题描述:
当我使用docker-compose up
时,我可以在我的docker-compose.yml
文件中看到所有容器的日志。如何使用docker-compose运行查看日志输出?
但是,当我使用docker-compose run app
时,我只能看到app
的控制台输出,但没有任何app
依赖的服务。如何查看其他服务的日志输出?
答
- 使用该命令以分离模式启动容器。 : 搬运工-构成了-d
- 以查看容器: 使用:搬运工PS
- 查看日志用于容器:
搬运工日志
答
见搬运工日志
您可以在分离模式下启动您的Docker组合,然后将自己附加到所有容器的日志。如果您有足够的观看日志,则可以将自己从日志输出中分离出来,而无需关闭服务。
- 使用
docker-compose up -d
开始在分离模式(-d)所有服务(你不会看到分离模式的任何日志) - 使用
docker-compose logs -f -t
自行安装到所有正在运行的服务的日志,而-f意味着你按照日志输出和-t选项为您提供了很好的时间戳(见Docker reference) - 使用
Ctrl + z
或Ctrl + c
从日志输出脱离自己,而无需关闭您的服务
如果你有兴趣在一个容器中,你可以使用关键字docker
:
- 使用
docker logs -t -f <container-name>
保存输出
要将输出保存到您添加以下文件到您的日志命令:
docker-compose logs -f -t >> myDockerCompose.log
您可以使用'docker-compose logs -f service_name' –
另请注意,docker-compose run'每次执行时都会创建新的容器。 – jazgot
我在circleci运行'docker-compose run'只是为了运行我的测试,所以它可以,如果它创建一个新的容器。主要问题是没有看到依赖服务的日志输出。 – sthomps