我需要创建一个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