1. 程式人生 > >Docker-Docker與IPV6

Docker-Docker與IPV6

公司計劃在2020年前完成IPV6化改造,於是我先行查閱了一些資料瞭解Docker進行IPv6化的可能性。

預計明年正式開始測試。

方法一、使容器中的服務支援IPv6地址

不為容器中的服務特別分配IPv6地址。只要Docker把外部的IPv6地址埠對映到容器的IPv4埠上,隨後訪問主機的IPv6相應埠即可。  

方法二、為Docker網路分配IPv6地址

(1)Docker daemon預設只支援IPv4地址,通過在執行Docker時增加--ipv6引數可以使其同時支援ipv4和ipv6地址。 (2)此時容器僅獲得了本地ipv6地址,如果要獲得全域性ipv6地址,必須確保機器有至少/80的地址段,通過在執行Docker時增加--fixed-cidr-v6引數為其配置ipv6子網。 該引數會在路由表中新增一條路由,相當於執行了一下命令: $ ip -6 route add 2001:db8:1::/64 dev docker0 $ sysctl net.ipv6.conf.default.forwarding=1 $ sysctl net.ipv6.conf.all.forwarding=1 隨後,所有路由往2001:db8:1::/64的流量都會通過docker0介面路由 (3)除了在執行時新增引數,還可以直接編輯/etc/docker/daemon.json檔案,加入以下內容: {    "ipv6": true,    "fixed-cidr-v6": "2001:db8:1::/64" } 其中2001:db8:1::/64是IPv6地址段。 (4)使用systemctl restart docker命令重啟Docker。 (5)使用ifconfig命令檢視分配到Docker網路的IPv6地址段 (6)完成了上面的配置之後,無需特意配置,只需正常建立容器,即可為容器分配IPv6地址。可以使用“docker inspect容器名”檢視容器的IP地址。