• 注册
  • 技术宅 技术宅 关注:21 内容:1000

    万事屋转载:Docker容器支持IPv6的方法

  • 查看作者
  • 打赏作者
    • 技术宅
    • 大版主
      完美的高逼格

      还在折腾N1上的Docker,谁叫AdGuardHome不大认识IPv6这条路子呢,只能再折腾

      (╯°□°)╯︵ ┻━┻

      1.设置Docker Engine支持IPv6

      1) 启动Docker Engine时即开启对IPv6的支持

      默认启动时Docker Engine只支持IPv4。

      启动Docker Engine时,指定--ipv6选项即可支持IPv6。

      2) 对于已经启动的Docker Engine开启对IPv6的支持

      配置/etc/docker/daemon.json文件如下。

      {

        "ipv6": true,

        "fixed-cidr-v6": "fd00:daad:beee::/48"

      }

      说明:Docker Engine支持IPv6后,docker0将拥有IPv6的link-local地址fe80::1。但要使得docker0拥有IPv6的global地址,还需要设置--fixed-cidr-v6,以指定Docker容器实例可用的IPv6子网。

      执行systemctl reload docker重载Docker Engine的配置文件,Docker Engine将会添加几条新的路由规则到iptables。以上述配置文件为例,Docker Engine将会执行如下等价操作:

      $ ip -6 route add fd00:dead:beef::/48 dev docker0

      $ sysctl net.ipv6.conf.default.forwarding=1

      $ sysctl net.ipv6.conf.all.forwarding=1

      如果Docker宿主机的网卡(例如eth0)是通过路由广播获取Docker Engine的IPv6配置参数,则上述配置文件的生效将引起Docker Engine将会执行如下等价操作:

      $ ip -6 route add fd00:dead:beef::/48 dev docker0

      $ sysctl net.ipv6.conf.default.forwarding=1

      $ sysctl net.ipv6.conf.all.forwarding=1

      $ sysctl net.ipv6.conf.eth0.accept_ra=2

      2 创建Docker网络支持IPv6

      事实上,Docker Engine支持IPv6后,Docker Engine默认的bridge网络就支持IPv6,直接使用bridge网络即可(默认即使用bridge网络)。

      如果要使用定制网络,则创建网络时docker network create带--ipv6选项,示例如下:

      docker network create -d bridge --ipv6 --subnet "fd00:daad:beee:1::/64" --gateway="fd00:daad:beee::1" --subnet=172.18.0.0/16 --gateway=172.18.0.1 myNet

      3 创建容器实例支持IPv6

      Docker Engine支持IPv6后,创建容器时docker run带--ip6选项即可。

      注意,如果docker run命令带--ip或--ip6选项,则其网络不能是默认的bridge网络,否则会抛出如下异常:

      user specified IP address is supported on user defined networks only.

      必须为创建的容器采用定制网络,才能够通过--ip或--ip6选项指定容器实例的IP。

      首先要保证定制网络(如myNet)支持IPv6,然后创建容器时docker run带--ip6选项和--network=myNet即可。

      docker run -itd -P --ip=172.18.0.101 --ip6="fd00:daad:beee:1::101" --network=myNet --name=my101 centos:7

      ————————————————

      原文链接: 链接

      请登录之后再进行评论

      登录
      技术宅
    • 今日 1
    • 帖子 1000
    • 关注 21
    • 分享万事屋

    • 发表内容
    • 做任务
    • 实时动态
    • 偏好设置
    • 到底部
    • 帖子间隔 侧栏位置: