新聞中心
Docker 默認(rèn)是不開啟 IPv6 支持的,在 Docker 容器或群服務(wù)中使用 IPv6 之前,您需要在 Docker 守護(hù)進(jìn)程中啟用 IPv6 支持。之后,您可以選擇對(duì)任何容器、服務(wù)或網(wǎng)絡(luò)使用 IPv4 或 IPv6(或兩者)
- Docker 可以配置多個(gè)虛擬網(wǎng)絡(luò),對(duì)于 IPv4 來說通過形如 172.17.0.1/16、172.18.0.1/16、172.19.0.1/16 這樣內(nèi)網(wǎng)私有IP地址段配置多個(gè) IPv4 虛擬網(wǎng)段;
- 那么同樣的道理 IPv6 也可以劃分為多個(gè)段,可以通過 ipv6-subnet-calculator自動(dòng)劃分;
https://subnettingpractice.com/ipv6-subnet-calculator.html
To get at least 4 new subnets divide 2607:f0d0:1002:51::4/64 into 4 new subnets.
Each of these subnets is a /66 containing 0.25 /64s. The new subnets are as follows:
2607:f0d0:1002:51::/66
2607:f0d0:1002:51:4000::/66
2607:f0d0:1002:51:8000::/66
2607:f0d0:1002:51:c000::/66
3、配置默認(rèn) Docker IPv6注意:IPv6 網(wǎng)絡(luò)僅在 Linux 主機(jī)上運(yùn)行的 Docker 守護(hù)程序上受支持。
編輯/etc/docker/daemon.json
,將ipv6密鑰設(shè)置為true和fixed-cidr-v6您的 IPv6 子網(wǎng)的密鑰。在此示例中,我們將其設(shè)置為2607:f0d0:1002:51::/66
{ "experimental": true,
"ipv6": true,
"ip6tables": true,
"fixed-cidr-v6": "2607:f0d0:1002:51::/66"
}
這里ip6tables是指由 Docker 自動(dòng)配置 IPv6 的防火墻規(guī)則,如果你希望自己手動(dòng)配置,請(qǐng)改為 false 或者移除此項(xiàng),否則容器將無法連接 IPv6 網(wǎng)絡(luò);
fixed-cidr-v6 則是我們劃分的子網(wǎng)段的第一個(gè),fixed-cidr-v6將分配給默認(rèn)的 docker 橋接網(wǎng)絡(luò),docker 0.
$ systemctl reload docker
執(zhí)行命令docker network ls,除非您之前創(chuàng)建了自己的自定義網(wǎng)絡(luò),否則您將看到以下內(nèi)容:
[root@localhost deploy]# docker network ls
NETWORK ID NAME DRIVER SCOPE
76c3482e860e bridge bridge local
ffc8043b2395 host host local
3ab57d30d24a monitoring bridge local
44d8fefb76f4 none null local
3.4、檢查默認(rèn)的 docker ‘bridge’ 網(wǎng)絡(luò)檢查默認(rèn)的 docker ‘bridge’ 網(wǎng)絡(luò)docker network inspect bridge。您應(yīng)該會(huì)看到列出了您選擇的 IPv6 網(wǎng)絡(luò)以及網(wǎng)關(guān)地址。
[root@localhost deploy]# docker network inspect bridge
[
{"Name": "bridge",
"Id": "76c3482e860e7787f85da0892d9f2c6f967ceeb252a6dc7f789c923d02fc2f9e",
"Created": "2022-12-01T14:23:31.16878297+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": true,
"IPAM": {"Driver": "default",
"Options": null,
"Config": [
{"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
},
{"Subnet": "2607:f0d0:1002:51::/66",
"Gateway": "2607:f0d0:1002:51::1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0",
"com.docker.network.driver.mtu": "1500"
},
"Labels": {}
}
]
- docker0 網(wǎng)絡(luò)是默認(rèn)的橋接網(wǎng)絡(luò)。默認(rèn)情況下,分配給它的容器現(xiàn)在將具有與本地網(wǎng)關(guān)和彼此之間的 IPv4 和 IPv6 連接。
- 但是,由于 docker0 網(wǎng)絡(luò)的限制,docker 的建議是該網(wǎng)絡(luò)不應(yīng)在生產(chǎn)環(huán)境中使用,而應(yīng)使用用戶定義的橋接網(wǎng)絡(luò)。在下一節(jié)中,我將構(gòu)建一個(gè)這樣的自定義網(wǎng)絡(luò)。
networks:
example:
enable_ipv6: true
driver: bridge
driver_opts:
com.docker.network.enable_ipv6: "true"
ipam:
config:
- subnet: 172.23.0.0/16
- subnet: "2607:f0d0:1002:51:4000::/66"
gateway:2607:f0d0:1002:51:4000::1
- 這里example網(wǎng)絡(luò)通過配置開啟IPv6支持,其中網(wǎng)絡(luò)段配置IPv4是172.23.0.0/16,IPv6選用余下的第二個(gè)網(wǎng)段2607:f0d0:1002:51:4000::/66注意這里不能和daemon.json配置的 IPv6 網(wǎng)段一樣。
- 這里的 IP 配置同樣是一個(gè)示例,具體可以根據(jù)實(shí)際情況進(jìn)行修改。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
當(dāng)前題目:DockerwithIPV6-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://fisionsoft.com.cn/article/dsgiii.html