如何使用docker-compose运行查看日志输出?

问题描述:

当我使用docker-compose up时,我可以在我的docker-compose.yml文件中看到所有容器的日志。如何使用docker-compose运行查看日志输出?

但是,当我使用docker-compose run app时,我只能看到app的控制台输出,但没有任何app依赖的服务。如何查看其他服务的日志输出?

+2

您可以使用'docker-compose logs -f service_name' –

+0

另请注意,docker-compose run'每次执行时都会创建新的容器。 – jazgot

+0

我在circleci运行'docker-compose run'只是为了运行我的测试,所以它可以,如果它创建一个新的容器。主要问题是没有看到依赖服务的日志输出。 – sthomps

  1. 使用该命令以分离模式启动容器。 : 搬运工-构成了-d
  2. 以查看容器: 使用:搬运工PS
  3. 查看日志用于容器:
    搬运工日志

见搬运工日志

您可以在分离模式下启动您的Docker组合,然后将自己附加到所有容器的日志。如果您有足够的观看日志,则可以将自己从日志输出中分离出来,而无需关闭服务。

  1. 使用docker-compose up -d开始在分离模式(-d)所有服务(你不会看到分离模式的任何日志)
  2. 使用docker-compose logs -f -t自行安装到所有正在运行的服务的日志,而-f意味着你按照日志输出和-t选项为您提供了很好的时间戳(见Docker reference
  3. 使用Ctrl + zCtrl + c从日志输出脱离自己,而无需关闭您的服务

如果你有兴趣在一个容器中,你可以使用关键字docker

  1. 使用docker logs -t -f <container-name>

保存输出

要将输出保存到您添加以下文件到您的日志命令:

  1. docker-compose logs -f -t >> myDockerCompose.log