如何在docker堆栈中查看服务的输出?

时间:2017-02-21 22:40:31

标签: docker docker-compose microservices docker-swarm

使用Docker Compose,当我们运行docker-compose up时,我们会看到控制台上显示的所有服务的输出,即使使用不同的颜色也可以更容易区分它们。即使我们有多个服务实例,它们的输出也会出现在那里。

现在,我今天第一次尝试使用Docker Compose v3将堆栈部署到swarm。

我做完

docker deploy stack --compose-file=docker-compose.yml the_stack

我可以看到使用

运行的服务
docker service ls

但是,我希望看到Docker Compose中的服务输出。

例如,如果我在一个节点中运行了3个副本的服务background_worker,我希望能够在该节点中看到这些副本的输出,就像我使用Docker Compose一样。

如何使用Docker Swarm查看部署在Docker堆栈中的复制服务的输出?

编辑:正如所回答的,我需要在您的docker守护程序上启用实验选项,但是,我在使用hyperv驱动程序创建的docker-machine中运行它,因为它不是但是可以使用Docker for Windows运行多节点群。如何在docker机器内启用它?

1 个答案:

答案 0 :(得分:1)

目前1.13有两种选择:

  1. 连接到每个节点并在各个容器上运行docker logs
  2. 在您的docker守护程序上启用实验选项,以便您使用docker service logs