Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there any way to obtain detailed logging info when executing 'docker stack deploy'?

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!

like image 201
kvjava1 Avatar asked Mar 23 '17 04:03

kvjava1


People also ask

How do I get docker service log?

First, find your active Docker machine. docker-machine ls Find the name of the active docker machine under the NAME column in the output. You can copy the docker daemon log file to your local directory for analysis: docker-machine scp default:/var/log/docker.

How does docker stack deploy work?

When running Docker Engine in swarm mode, you can use docker stack deploy to deploy a complete application stack to the swarm. The deploy command accepts a stack description in the form of a Compose file. The docker stack deploy command supports any Compose file of version “3.0” or above.


1 Answers

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!

like image 197
VonC Avatar answered Oct 20 '22 12:10

VonC