docker swarm发布spring cloud项目,集群环境已经搭建完成。
使用命令docker stack deploy -c docker-compose.yml test命令发布。
用户服务的IP是10.255.0.8 端口是8000 对外映映端口是8001 虚拟机IP是192.168.1.102 在本容器内访问都正常。
但在另外一个调用的容器 IP为10.255.0.12 可以ping 通10.255.0.8 和192.168.1.102 但访问不了容器的8000端口
请问这是什么原因,防火墙吗?
试了自定义创建的overlay网络也还是存在一样的问题,有时候刚启动起来还可以访问,但过几秒钟就不行了。两个容器之间是可以互相ping通的,但就是访问不了容器的内部端口。
完整 的docker-compose.xml内容如下,使用的命令 docker stack deploy -c docker-compose.xml test,帮我看看有啥问题没
version: "3.0"
services:
peer1:
image: eureka-ha:0.0.1-SNAPSHOT
ports:
- "8761:8761"
environment:
- spring.profiles.active=peer1
microservice-provider-user1:
image: user:0.0.1-SNAPSHOT
ports:
- "8001:8000"
networks:
springcloud-overlay:
aliases:
- eureka
links:
- peer1
microservice-provider-user2:
image: user:0.0.1-SNAPSHOT
ports:
- "8002:8000"
networks:
springcloud-overlay:
aliases:
- eureka
links:
- peer1
microservice-consumer-movie-ribbon-hystrix:
image: movie-ribbon-hystrix:0.0.1-SNAPSHOT
ports:
- "8010:8010"
networks:
springcloud-overlay:
aliases:
- eureka
links:
- peer1
- microservice-provider-user1
- microservice-provider-user2
microservice-gateway-zuul:
image: gateway-zuul:0.0.1-SNAPSHOT
ports:
- "8040:8040"
networks:
springcloud-overlay:
aliases:
- eureka
links:
- peer1
networks:
springcloud-overlay:
external:
name: springcloud-overlay