docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker启用IPv6

Docker启用IPv6支持的流程步骤

作者:孽小倩

在 Docker 环境中启用 IPv6 支持可以扩展你的网络能力,尤其是在需要同时处理 IPv4 和 IPv6 流量的场景中,本文将详细介绍如何在 Docker 中配置默认的 bridge 网络以及自定义网络来支持 IPv6,需要的朋友可以参考下

今天聊聊在Docker中如何开启IPv6支持,咱们一步一步来,轻松实现!

一、Docker默认情况下IPv6未启用?

没错,默认Docker是关闭IPv6的,所以需要手动配置。

二、如何开启Docker的IPv6支持?

主要分两步:

步骤一:修改Docker的配置文件

Docker守护进程默认的配置文件位置:

/etc/docker/daemon.json

编辑这个文件(如果没有,则新建):

sudo vim /etc/docker/daemon.json

添加以下内容:

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

注意:
上面的IPv6地址仅用于测试环境,生产环境需要申请合法的IPv6地址。

步骤二:重启Docker服务

修改完配置后,重启Docker守护进程:

sudo systemctl restart docker

确认一下Docker是否成功启用了IPv6:

docker network inspect bridge |grep -i ipv6

显示类似:

"EnableIPv6": true

表示成功启用了IPv6!

步骤三:创建一个支持IPv6的Docker网络

Docker默认网络是不支持IPv6的,因此我们需要创建新的IPv6网络:

sudo docker network create --ipv6 --subnet=2001:db8:1::/64 my-ipv6-net

查看网络:

docker network ls

三、启动容器并测试IPv6

咱们启动一个简单的nginx容器,测试IPv6网络:

sudo docker run -d --network my-ipv6-net --name ipv6-nginx nginx

查看容器IP地址:

sudo docker inspect my-ipv6-net

或更直观一点:

sudo docker network inspect my-ipv6-net | grep IPv6Address

你会看到类似:

"IPv6Address": "2001:db8:1::242:ac11:2/64"

说明IPv6生效了。

四、测试IPv6连通性

宿主机尝试Ping一下容器的IPv6地址:

ping6 2001:db8:1::242

如果通了,说明IPv6配置成功!

示例快速复习

下面用一个完整的示例再走一遍流程:

# 1. 修改Docker配置
sudo tee /etc/docker/daemon.json <<EOF
{
  "ipv6": true,
  "fixed-cidr-v6": "2001:db8:1::/64"
}
EOF
 
# 2. 重启Docker
sudo systemctl restart docker
 
# 2. 创建IPv6网络
sudo docker network create --ipv6 --subnet=2001:db8:1::/64 my-ipv6-net
 
# 3. 启动容器
sudo docker run -d --name ipv6-nginx --network my-ipv6-net nginx
 
# 4. 查看IPv6地址
sudo docker inspect ipv6-nginx | grep IPv6Address

总结与注意事项:

这样Docker就能愉快地用上IPv6啦

到此这篇关于Docker启用IPv6支持的流程步骤的文章就介绍到这了,更多相关Docker启用IPv6内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文