如何在运行交互式命令时看到docker-compose服务的输出?

我有一个像这样的docker-compose文件:

my-service: ... interactive-command: links: - my-service ... 

我像这样调用它:

 docker-compose -f path/to/docker-compose.yml run interactive-command 

(实际上,我在文件中有两个连接到服务的命令,有时我运行一个,有时另一个命令,但是我不认为这对问题有什么影响。)

主要的问题是,我没有看到我的服务的任何输出。 特别是,我没有看到它的错误消息(虽然我可以find他们使用“docker日志”)。 此外,即使服务退出,交互式命令也会继续运行,但在这种情况下应该退出并显示错误。

另一方面,如果我使用“docker-compose up”而不是“docker-compose run”,我可以从所有服务中获得格式良好的输出,但是我似乎无法与交互式命令交互,即使我为交互式命令设置了“tty:true”和“stdin_open:true”。

我应该做些什么?

你可以使用docker exec -ti <interactive container>docker exec -ti <interactive container>上获得一个shell。