docker 通过overlay 构建跨主机联网通信

docker 通过overlay 构建跨主机联网通信

  初始化 swarm

meiya@meiya:~$ docker swarm init

  将当前节点作为manager节点加入swarm

meiya@meiya:~$ docker swarm join-token manager

  创建自定义的overlay 网络

meiya@meiya:~$ docker network create -d overlay --attachable my-attachable-overlay
--attachable : 独立容器也能够通过该overlay网络进行通信,如果没加这个参数,则只能是swam节点的容器才能够访问
--opt encrypted : 会在 vxlan 层级开启 IPSEC 加密。这种加密技术会带来不可忽视的性能损失,因此应该在生产中使用该选项之前对其进行测试

查看网络配置

meiya@meiya:~$ docker network ls
NETWORK ID          NAME                    DRIVER              SCOPE
54b28e557d13        bridge                  bridge              local
a6e93112585e        docker_gwbridge         bridge              local
9720aa482a47        host                    host                local
ascftm9nkzkw        ingress                 overlay             swarm
dg93iulbf1hx        my-attachable-overlay   overlay             swarm
1e09aa60ae93        none                    null                local


使用例子, springcloud 中 zuul和eureka 分别独立一个镜像并使用overlay启动容器
meiya@meiya:~$ docker run -d -p 8761:8761 --net=my-attachable-overlay --name=peacock-eureka  192.168.1.57:5000/peacock-eureka:1.0-SNAPSHOT
meiya@meiya:~$ docker run -d -p 8100:8100 --net=my-attachable-overlay --name=peacock-zuul 192.168.1.57:5000/peacock-zuul:1.0-SNAPSHOT

  先看下zuul中配置eureka地址的配置

server:
  tomcat:
    basedir: /tmp/tomcatBaseDir

eureka:
  instance:
    hostname: localhost
  client:
    serviceUrl:
      defaultZone: http://peacock-eureka:8761/eureka/
peacock-eureka 就是上面启动eureka容器的name, overlay会进行映射

这样docker就能通过overlay网络解决docker 容器无法访问外部网络或者其他外部宿主机器!!!
posted @ 2019-05-11 18:23 肖建锋 阅读( ...) 评论( ...) 编辑 收藏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值