日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

怎样配置 Docker IPv6 ?

發布時間:2023/12/18 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 怎样配置 Docker IPv6 ? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Docker IPv6 配置

Docker?0?默認不開啟 IPv6 配置, 但是在某些場景我們又需要 IPv6 網絡的支持, 特別是隨著 IPv6 的普及,以后使用 IPv6 的場景會越來越多。

注解

本教程假設您的服務器擁有公網 IPv6 地址段, 并且 IPv6 地址段Docker 啟用 IPv6 支持Docker 啟用 IPv6 支持為:?1111:1111:1111:1111::/64

Docker 啟用 IPv6 支持

首先編輯?/etc/docker/daemon.json?文件,把如下配置添加到配置文件中:

注解

如果?/etc/docker/daemon.json?文件不存在,手動創建即可。

{"ipv6": true,"fixed-cidr-v6": "1111:1111:1111:1111::/64" }

重啟 docker 服務?systemctl?restart?docker。

宿主服務器配置

如果我們的 Docker 容器需要使用 IPv6 公網地址, 我們還需要配置宿主機器的 路由/轉發 規則,允許宿主機 路由/轉發 Docker 容器的 IPv6 流量。

注解

這里我們這里假設宿主機的默認 IPv6 網卡名稱為?eth0。

/etc/sysctl.conf?配置

我們需要宿主機允許轉發 IPv6 流量 & 鄰居發現消息:

net.ipv6.conf.all.forwarding=1 net.ipv6.conf.all.proxy_ndp=1 net.ipv6.conf.default.proxy_ndp=1 # docker0 是 docker 默認的網橋 (bridge) net.ipv6.conf.docker0.proxy_ndp=1 # eth0 是默認的網卡 net.ipv6.conf.eth0.proxy_ndp=1

使用?sysctl?-f?重載系統配置。

ndppd 配置

因為 Linux IPv6 的 ndp 鄰居發現配置僅允許單個 IP 配置(IPv6?/128), 因此我們使用?ndppd?守護進程來自動轉發鄰居發現消息。

注解

理論上我們也可以手工一條一條的配置所有 IPv6 鄰居發現消息轉發規則。

apt install ndppd

/etc/ndppd.conf?寫入如下配置:

route-ttl 30000 address-ttl 30000 proxy eth0 {router yestimeout 500autowire nokeepalive yesretries 3promiscuous nottl 30000rule 1111:1111:1111:1111::/64 {staticautovia no} }

注解

?ndppd 詳細配置參見:?https://github.com/DanielAdolfsson/ndppd/blob/master/ndppd.conf-dist

systemctl?restart?ndppd

docker-compose 啟用 IPv6

docker-compose.yaml?可以使用類似如下的配置啟用 IPv6 地址:

version: "2.4"networks:ipv6_network:enable_ipv6: truedriver: bridgeipam:driver: defaultconfig:- subnet: "172.16.238.0/24"- subnet: "1111:1111:1111:1111:1::/80"

小技巧

subnet 中的 IPv6 地址不要直接使用?1111:1111:1111:1111::/64, 否則可能會導致路由混亂(Docker 容器無法正常使用 IPv6 網絡)。

使用?1111:1111:1111:1111::/64?的任意子網段都可以。

警告

docker-compose?文件 必須使用 version: 2, version: 3 不支持?enable_ipv6?配置?2?。

如果您已有舊的容器在運行(網絡配置發生了變化),則需要先銷毀容器?docker-compose?down?然后再重新創建?docker-compose?up。

實現原理

Docker 啟用 IPv6 功能的原理實際就是:

  • 配置宿主機器啟用 IPv6 路由/轉發 功能

    這是必須的,否則宿主機器不會 路由/轉發 Docker 的 IPv6 流量。

  • Docker 底層網絡實現就是在宿主機器創建網橋 (bridge 模式)

    所以一切關于網橋配置的原理都可以應用到這里。

  • 給宿主機配置正確的 路由/轉發 規則

  • 原文鏈接:Docker IPv6 配置 — 奇遇科技博客 2021 文檔 (qiyutech.tech)https://blog.qiyutech.tech/202112/30_docker_ipv6/

    總結

    以上是生活随笔為你收集整理的怎样配置 Docker IPv6 ?的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。