如同这个问题,但添加了docker stack的复杂性。
虽然在 vanilla docker 上调试短期容器很“容易”,但你只需这样做docker logs -f "failed_container_id"
,那么如何对通过 docker stack 启动的容器执行相同操作呢?
我尝试了以下方法,但都不起作用:
docker logs -f stackname_containername
docker logs -f stackname_containerid
docker logs -f containername
docker logs -f containerid
所有这些尝试都导致
守护进程的错误响应:没有这样的容器:XXXX
我还尝试查看本地友好聊天机器人所建议的输出docker stack services stackname
并在命令中使用服务的 id,docker service logs stackname_servicename
但这什么也没有输出。
那么,为什么我可以看到“常规”docker 容器的日志,却看不到作为堆栈一部分启动的容器的日志呢?