启用Docker对ipv6的支持

我的环境:

  • OS: CentOS 7.9
  • Docker:20.10.7

1. 启用Docker守护进程对ipv6的支持

要想在Docker容器或者Swarm服务中使用ipv6,首先需要在Docker守护进程中启用对ipv6的支持,具体做法如下:

  1. 编辑docker守护进程的配置文件/etc/docker/daemon.json (若不存在需要手动创建该文件)

     {
         
        "experimental": true,
        "ip6tables": true,
        "ipv6": true,
        "fixed-cidr-v6": "2001:db8:1::/64"
     }
    

    ipv6设置为true,启用对ipv6的支持。
    fixed-cidr-v6,配置ipv6子网。
    ip6tables,启用ip6tables,docker会在ip6tables中配置docker网络相关的规则链。
    experimental,启用实验特性,ip6tables是docker的一个实验功能,所以需要设为true。

  2. 重载配置文件

     sudo systemctl reload docker && sudo systemctl restart docker
    

    现在你可以使用docker network create --ipv6 ... 创建一个支持ipv6的网络了。另外你也可以在启动容器时使用--ip6参数来使容器支持ipv6。

  3. 审查默认bridge网络

     sudo docker network inspect bridge
    

    在这里插入图片描述
    可以看到已经配置成功!

接下来就可以在容器中使用ipv6了!

2. 在Docker容器中使用ipv6

注意:以下演示依赖于上一步的配置

2.1 创建一个容器

使用nginx做演示:
启动一个容器,此处并没有指定网络所以默认使用名为bridge的网络,该网络在上一步已经支持ipv6了!

docker run --name test -p 81:80 -d nginx:1.21.6

进入容器内部查看网阔配置:

$ docker exec -it test ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cloud-Future

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值