关于docker stack deploy部署服务,一直启动不成功的问题

部署docker服务,compose文件里面只有一个服务,一个networks设置,一个secrets配置:

version: "3.4"
services:
  search_online:
    image: ***/search_online:19.02.27.1923
    deploy:
      replicas: 1
    networks:
      - my_network
    secrets:
      - global.conf
    ports:
      - "0.0.0.0:port:port"
    volumes:
      - /***/logs/search_online:/***/logs

networks:
  my_network:
    ipam:
      config:
      - subnet: 172.16.238.0/24

secrets:
  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)