如何在“准备”状态获取docker服务任务的日志

我现在用Docker 1.12玩了一下,创build了一个服务,注意到当我运行"docker service tasks xxx"时有一个"preparing"的阶段。

我只能猜测,在这个阶段的图像正在被拉或更新。

我的问题是:我怎样才能看到这个阶段的日志? 或者更一般地说:我怎样才能看到docker服务任务的日志?

我一直在使用docker-machine在我的开发环境中模拟不同的“主机”。

这就是我在这个“准备”阶段为我的服务弄清楚发生了什么事情:

docker service ps <serviceName>

您应该看到您的服务计划运行的节点(机器)。 在这里你会看到“准备”信息。

使用docker-machine ssh连接到特定的机器:

 docker-machine ssh <nameOfNode/Machine> 

你的提示会改变。 你现在在另一台机器里面。 在这台机器里面做这个:

tail -f /var/log/docker.log

您将看到该机器的“守护程序”日志。 在那里你会看到特定的守护进程是在做“拉”还是在作为服务准备的一部分正在做什么。 就我而言,我发现了这样的事情:

time="2016-09-05T19:04:07.881790998Z" level=debug msg="pull progress map[progress:[===========================================> ] 112.4 MB/130.2 MB status:Downloading

这使我意识到,这只是从我的docker帐户下载一些图像。

你的假设(关于在准备过程中拉动)是正确的。

目前还没有用于任务的日志命令,但是您当然可以连接到该守护程序并以常规方式执行docker logs