开发者社区 > 云原生 > 容器服务 > 正文

docker overlay 模式,容器使用物理网络IP无法通信

请教问题,如何能让容器使用物理网络IP正常通信;

环境

swarm 1.2.3
Consul v0.5.2
docker 1.10.3
centos 7.2 Kernel 3.10.0-327.22.2.el7.x86_64

Swarm
docker run --rm swarm list token://token
192.168.1.203:2375
192.168.1.202:2375

swarm manager *1
swarm node *2

问题描述

  • docker overlay 模式,创建了overlay 网络并指定网络使用与物理机相同的网络段,192.168.1.0/24
docker -H tcp://192.168.1.201:3375 network create -d overlay --gateway=192.168.1.1 --subnet=192.168.1.0/24 vlan150      
  • 但是为容器分配的网络段任然IP无法通信,因为创建的容器默认会创建两个网卡,默认路由任然为 172.18.0.1
docker -H tcp://192.168.1.201:3375 run -tid --net vlan150 --ip 192.168.1.211 nginx

docker -H tcp://192.168.1.201:3375 exec 79dba07e2141 ip route
default via 172.18.0.1 dev eth1 
172.18.0.0/16 dev eth1  proto kernel  scope link  src 172.18.0.2 
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.211 
  • 无法通信`
  1. 192.168.1.211

PING 192.168.1.211 (192.168.1.211) 56(84) bytes of data.
^C
--- 192.168.1.211 ping statistics ---
8 packets transmitted, 0 received, 100% packet loss, time 6999ms

展开
收起
dadfd 2016-07-07 10:54:12 5541 0
1 条回答
写回答
取消 提交回答
  • 阿里云容器服务

    目前来说,overlay 网络属于虚拟网络,不能喝宿主机上的主机网络相互通信

    2019-07-17 19:52:38
    赞同 展开评论 打赏

国内唯一 Forrester 公共云容器平台领导者象限。

相关电子书

更多
应用 Docker 进行持续交付:用技术改变交付路程 立即下载
从Docker到容器服务 立即下载
Docker@Alibaba——超大规模Docker化的实战经验 立即下载