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

时间:2017-10-20 10:54:02

标签: docker ssh docker-swarm

我无法ssh进入泊坞窗管理器并获取服务日志。当"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并传递命令来运行?

1 个答案:

答案 0 :(得分:0)

docker ps有一些filtering,输出options表示很少需要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)