我正在为docker-swarm制作堆栈。
这是我的django和nginx堆栈。
我部署了它,但从未开始。
ID NAME MODE REPLICAS IMAGE PORTS
n9j49jx667x5 django_nginx replicated 0/1 nginx:1.13 *:8000->8000/tcp
7h3sbmmgwbvn django_python replicated 0/1 registry:5000/mydjango:latest *:8082->8082/tcp
dkzk9z3rdtzm phpmyadmin_phpmyadmin global 1/1 phpmyadmin/phpmyadmin:latest *:8009->80/tcp
kf6xisbvqdqv visualizer_app global 1/1 dockersamples/visualizer:latest *:9009->8080/tcp
现在我想检查一下为什么这个堆栈不起作用。
但是我该如何查看日志或一些线索?
如果服务一次可用,我可以像
一样检查docker container exec -it manager docker service logs -f visualizer_app
但是我如何调查为什么堆栈/服务不起作用... ??
version: '3'
services:
python:
image: registry:5000/mydjango:latest
command: uwsgi --socket :8001 --module jrtweet.wsgi --py-autoreload 1 --logto /tmp/mylog.log
volumes:
- ./src:/code
- ./src/static:/static
ports:
- "8082:8082"
nginx:
image: nginx:1.13
ports:
- "8000:8000"
volumes:
- ./nginx/conf:/etc/nginx/conf.d
- ./nginx/uwsgi_params:/etc/nginx/uwsgi_params
- ./static:/static
depends_on:
- python
即使我尝试了最简单的设置,但它不起作用,我什至不知道如何调试.....
我找出了它无法正常工作的原因,尝试并出错。
我注释了#volumes
可行,但这必须是另一个问题...
我仍然想知道服务启动的调试.....
对taleodor表示感谢,我可以找到日志service ps
docker container exec -it man docker service ps django_python
mbx47zczllwm django_python.1 registry:5000/myprog/djangosrc:latest 6b0938c9c5fb Ready Rejected less than a second ago "invalid mount config for type…"
xgpet2jwwocq \_ django_python.1 registry:5000/myprog/djangosrc:latest 6b0938c9c5fb Shutdown Rejected less than a second ago "invalid mount config for type…"
zl1z7a0qx330 \_ django_python.1 registry:5000/myprog/djangosrc:latest 6b0938c9c5fb Shutdown Rejected 38 seconds ago "invalid mount config for type…"
zewlsc76zluy \_ django_python.1 registry:5000/myprog/djangosrc:latest 6b0938c9c5fb Shutdown Rejected about a minute ago "invalid mount config for type…"
zytucyx6unsg \_ django_python.1 registry:5000/myprog/djangosrc:latest 6b0938c9c5fb Shutdown Rejected about a minute ago "invalid mount config for type…"
zqjdobhkti47 \_ django_python.1 registry:5000/myprog/djangosrc:latest 6b0938c9c5fb Shutdown Rejected about a minute ago "invalid mount config for type…"
zxe18cc554ev \_ django_python.1 registry:5000/myprog/djangosrc:latest 6b0938c9c5fb Shutdown Rejected about a minute ago "invalid mount config for type…"
答案 0 :(得分:1)
执行 docker service ps ,即:
docker服务ps django_nginx
这将为您提供有关尝试启动服务器以及可能的错误的线索。如果错误足够明显,请停在那里。
如果错误仍未清除-容器已启动但很快退出,请通过 docker ps 找到这些容器,并通过
获取日志docker日志container_id
答案 1 :(得分:0)
可以像这样识别出计划级别错误,例如“找不到图像”,“没有适合放置约束的节点”或“卷插件错误”:
docker service ps django_python --no-trunc
--no-trunc
将阻止错误消息被切断。
集群部署需要绑定安装(您尝试使用的类型)才能使用绝对路径。
让我们假设您的docker-compose.yml位于/home/user/docker-compose.yml中,并且您想将主机路径/ home / user / test用作“卷源”。然后,您实际上需要使用绝对路径/ home / user / tests而不是相对路径./test,就像您在示例中所做的那样。