Docker获取服务的一个任务的实时日志

我不能ssh入dockerpipe理器,并获得服务日志。 我得到"docker service logs" requires exactly 1 argument. 错误,当我ssh进入我的经理

 docker-machine ssh manager1 

并运行

 docker logs --follow $(docker ps | grep redis | head -n1 | cut -d " " -f1) 

一切正常,但是当我运行下面的命令时,我得到"docker service logs" requires exactly 1 argument.

 docker-machine ssh manager1 "docker service logs $(docker ps | grep redis | head -n1 | cut -d ' ' -f1) --follow" 

我怎么能ssh到manager1并通过命令运行?

docker ps有一些过滤和输出选项 ,这意味着很less需要awk / grep等。

 docker-machine ssh manager1 sh -uexc 'echo; cid=$(docker ps -q -f ancestor=redis -l); docker service logs -f $cid || echo cid[$cid]' 

docker ps选项。

 --filter , -f Filter output based on conditions provided --format Pretty-print containers using a Go template --last , -n Show n last created containers (includes all states) --latest , -l Show the latest created container (includes all states)