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

如何在docker堆栈中查看服务的输出?,docker,docker-compose,microservices,docker-swarm,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 se

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

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

等我做完

docker deploy stack --compose-file=docker-compose.yml the_stack
我可以通过使用查看正在运行的服务

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

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

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


编辑:如前所述,我需要在docker守护进程上启用实验选项,但是,我正在使用hyperv驱动程序创建的docker机器中运行此选项,因为还不可能使用docker for Windows运行多节点群集。如何在docker机器内启用此功能?

1.13目前有两个选项:

  • 连接到每个节点并在各个容器上运行
    docker日志
  • 在docker守护进程上启用实验选项,这将允许您使用

  • 谢谢@BMitch。我正在docker计算机中运行节点,因为它是Windows主机。如何启用实验选项?我尝试在Docker for Windows中启用它,但我相信这不会影响Docker-machine上运行的守护进程。Docker-machine已不再是我的专长。您可以使用ssh连接到vm中,并查找/更改启动脚本。从docker machine create语法来看,似乎没有任何方法可以改变实验性标志:。我想我会按照你的建议做,ssh到VM中并更改/etc/docker/daemon.json文件,如文档建议您可以将
    --engine opt
    传递到
    docker machine create
    ,然后在
    docker machine
    实例内的守护进程上设置守护进程标志。那么,也许
    --发动机选择试验
    会起作用?不过还没有测试过。看见