Is there any way to obtain detailed logging info w

2019-02-19 18:51发布

问题:

In Docker 17.03, when executing

docker stack deploy -c docker-compose.yml [stack-name]

the only info that is output is:

Creating network <stack-name>_myprivatenet
Creating service <stack-name>_mysql
Creating service <stack-name>_app

Is there a way to have Docker output more detailed info about what is happening during deployment?

For example, the following information would be extremely helpful:

  • image (i.e. 'mysql' image) is being downloaded from the registry (and provide the registry's info)

  • if say the 'app' image is unable to be downloaded from its private registry, that an error message (i.e. due to incorrect or omitted credentials - registry login required) be output

Perhaps it could be provided via either of the following ways:

  • docker stack deploy --logs
  • docker stack log

Thanks!

回答1:

docker stack logs is actually a requested feature in issue 31458

request for a docker stack logs which can show the logs for a docker stack much like docker service logs work in 1.13.
docker-compose works similarly today, showing the interleaved logs for all containers deployed from a compose file.
This will be useful for troubleshooting any kind of errors that span across heterogeneous services.

This is still pending though, because, as Drew Erny (dperny) details:

there are some changes that have to be made to the API before we can pursue this, because right now we can only get the logs for 1 service at a time unless you make multiple calls (which is silly, because we can get the logs for multiple services in the same stream on swarmkit's side).

After I finish those API changes, this can be done entirely on the client side, and should be really straightforward. I don't know when the API changes will be in because I have started yet, but I can let you know as soon as I have them!