Docker IPv6 网络环境配置
由于目前Docker 在IPv6网络中运行的相关配置并非默认自动生成的,所以需要大家根据自己的网络环境来具体做一些相应配置,具体如下:
本次操作是在 Ubuntu16/18或者CentOS7 OS上面 通过docker官网手册安装方式 安装的Docker程序
第一步 在 docker 配置文件 添加IPv6配置参数
{
"ipv6": true,
"fixed-cidr-v6": "fc00:17:1:1::/64"
}
之后需要手动对刚才的IPv6内网地址设置NAT转换(因为docker 在IPv4的环境下会自动将内网地址做NAT转换)
并通过 -L 来查看NAT配置是否添加成功
ip6tables -t nat -A POSTROUTING -s fc00:17:1:1::/64 -j MASQUERADE
ip6tables -t nat -L
最后重新启动 docker 服务
systemctl restart docker
效果如下:
经过上述配置后,通过docker run 方式启动(利用默认的bridge网络模式)的容器即可自动获取到fc00:1:1::/64 网段中的IPv6地址。
并能够继承Host寄主机的网络资源环境。
如果你想使用 docker-compose 的方式来启动一组容器的话,那还需要对之前使用的 docker-compose.yml 文件进行部分升级,具体如下:
首先,compose的版本需要使用
version: '2.1'
然后在每一个services中添加网络参数(举例存在一个名为 app_net 的网络)
networks:
app_net:
之后在yml文件的最后添加 app_net 这个网络的具体参数:
networks:
app_net:
driver: bridge
enable_ipv6: true
ipam:
driver: default
config:
- subnet: 172.19.0.0/24
gateway: 172.19.0.1
- subnet: fc00:32:1:1::/120
gateway: fc00:32:1:1::1
其中给这个网络分配的IPv6网段是 fc00:32:1:1::/120 (不要与之前deamon.json中的网段有重合),/120网段可以提供 256个的可用地址
然后把这个IPv6内网地址段(fc00:32:1:1::/120) 利用 ip6tables -t nat 的指令(同上)将该地址段成功添加到host 寄主机中的 IPv6 nat配置中即可
之后再用 ip6tables -t nat -L 查看是否添加成功
最后利用访问一些公网的IPv6地址来测试网络是否搭建成功即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?