docker swarm 发布spring cloud项目内部网络不能访问
2017-10-30 21:52:24
漫步云端
  • 访问次数: 5
  • 注册日期: 2017-10-30
  • 最后登录: 2017-12-09

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端口

请问这是什么原因,防火墙吗?

沙发
2017-10-30 21:53:31
漫步云端
  • 访问次数: 5
  • 注册日期: 2017-10-30
  • 最后登录: 2017-12-09
板凳
2017-11-05 14:00:24
罗军
  • 访问次数: 2
  • 注册日期: 2017-11-05
  • 最后登录: 2017-11-05
集群内部ip能够映射端口到集群外部吗?我不是指 -p参数和--publish参数
#3
2017-11-05 14:08:58
罗军
  • 访问次数: 2
  • 注册日期: 2017-11-05
  • 最后登录: 2017-11-05
默认的overlay网络不支持将docker主机名解析成ip,自定义的overlay网络才有DNS功能
#4
2017-11-12 21:25:53
漫步云端
  • 访问次数: 5
  • 注册日期: 2017-10-30
  • 最后登录: 2017-12-09

试了自定义创建的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

1/1