每个Docker容器的IP在GCP实例上运行

时间:2019-05-07 14:10:06

标签: docker google-cloud-platform bridge macvlan

我需要创建一个Docker容器并将其附加一个专用IP地址。 Docker引擎在GCP实例上运行。
我应该如何正确配置Docker网络?

在GCP级别
我使用了别名IP功能来具有IP范围。

在操作系统级别
我尝试使用配置有别名IP范围的两种类型的Docker网络:
-桥驱动器
-Macvlan驱动程序

容器具有自己的IP地址:

root@instance-2:~# docker inspect container01 | grep IPA
            "SecondaryIPAddresses": null,
            "IPAddress": "",
                    "IPAMConfig": null,
                    "IPAddress": "10.165.5.9",

桥接Docker网络已连接到eth0,并且具有相同的网关:

root@instance-2:~# ip route | grep default
default via 10.165.0.1 dev eth0
root@instance-2:~# docker network inspect bridge02 | grep Gateway
                    "Gateway": "10.165.0.1"

Docker网络子网:

root@instance-2:~# docker network inspect bridge02 | grep Subnet
                    "Subnet": "10.165.5.0/18",

结果是:
1.使用附加到Docker容器的IP进行SSH。
   预期结果:SSH到容器
   实际结果:SSH到GCP实例
2.尝试从Container内部向外部世界及其网关执行ping操作。
  预期结果:ping操作成功
  实际结果:无法ping

bash-4.3# ping -c2 10.165.0.1
PING 10.165.0.1 (10.165.0.1) 56(84) bytes of data.
From 10.165.5.9 icmp_seq=1 Destination Host Unreachable
From 10.165.5.9 icmp_seq=2 Destination Host Unreachable

--- 10.165.0.1 ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 1006ms
pipe 2

0 个答案:

没有答案