本文主要是介绍关于docker stack deploy部署服务,一直启动不成功的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
部署docker服务,compose文件里面只有一个服务,一个networks设置,一个secrets配置:
version: "3.4"
services:search_online:image: ***/search_online:19.02.27.1923deploy:replicas: 1networks:- my_networksecrets:- global.confports:- "0.0.0.0:port:port"volumes:- /***/logs/search_online:/***/logsnetworks:my_network:ipam:config:- subnet: 172.16.238.0/24secrets:global.conf:file: /***/conf/global.conf
然后启动的时候,一直启动不成功,使用docker service logs id没有日志,使用docker service ps id提示networks冲突,原来是在同一个docker集群上已经有一个服务部署在这个ip的networks上,所以。。。因为我的孤陋寡闻,看到这个提示后,便开开心心地给自己挖了个大坑---把subnet改为:172.16.237.0/25,私心想着前面改一个,后面改一个,差别这么大,应该不会冲突了。
然后我就使用docker stack rm ***杀掉了之前起的服务,使用docker stack deploy ***重新部署,结果真的没有再提示冲突,而是一直处于启动但不成功的状态。同时使用docker service logs id并没有任何错误提示,docker service ps id提示期望状态running,当前状态为new 2 minutes。。。
各种排查。。。耗费一下午的时间,终于再快绝望的时候,发现了,我一直以为被我解决了的networks竟然才是这个问题的根源,wtf!原来,这个subnet前面的Ip可以随意改动,但是后面的24不可以,我看网上有人说其他的好像也可以,但是我测试了好几个只有24可以正常启动。。。再一次深刻体会到了什么是画蛇添足。。。。。。。。
这篇关于关于docker stack deploy部署服务,一直启动不成功的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!