docker swarm 发布spring cloud项目内部网络不能访问

zhao2198 2017-10-30 21:52:24

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

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

回帖列表
zhao2198 2017-11-12 21:25:53

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

Roy 2017-11-05 14:08:58
默认的overlay网络不支持将docker主机名解析成ip,自定义的overlay网络才有DNS功能
Roy 2017-11-05 14:00:24
集群内部ip能够映射端口到集群外部吗?我不是指 -p参数和--publish参数
zhao2198 2017-10-30 21:53:31
1/ 1
蝉知2.0