使容器中的服务支持IPv6
其实不需要特别分配IPv6地址。只要把相应的端口映射上,Docker会把外部的IPv6地址端口也映射到容器的IPv4端口上。所以,只要访问主机的IPv6相应端口即可。
可喜可贺。
可是,端口映射本来就是IPv4地址不够时的一种妥协方案,IPv6地址那么充足,所有容器共用一个IPv6地址简直是暴殄天物。如何给每个容器都分配一个IPv6地址呢?
为Docker网络分配IPv6地址段
首先,如果要启用Docker的IPv6支持功能,你必须确保你的机器有至少/80的地址段。
编辑/etc/docker/daemon.json
文件,加入以下内容:
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64"
}
其中2001:db8:1::/64
是IPv6地址段。
使用下面的命令重启Docker。
systemctl restart docker
查看分配的IPv6地址(以Debian/Ubuntu为例)
使用下面的命令查看分配到Docker网络的IPv6地址段。
ifconfig
如果提示找不到命令,请使用下面的命令安装网络工具。
apt-get <