Docker容器开启IPv6
摘要:Docker容器开启IPv6 Docker默认不开启IPv6配置,某些场景我们又需要IPv6网络支持,随着IPv6的普及,以后的使用场景会越来越多; Docker开启IPv6支持 首先编辑 /etc/docker/daemon.json 配...
Docker容器开启IPv6
Docker默认不开启IPv6配置,某些场景我们又需要IPv6网络支持,随着IPv6的普及,以后的使用场景会越来越多;
Docker开启IPv6支持
首先编辑 /etc/docker/daemon.json
配置文件,默认是没有该文件的,执行以下命令直接创建;
cat >/etc/docker/daemon.json <<EOF
{
"ipv6": true,
"fixed-cidr-v6": "fd00::/80",
"experimental": true,
"ip6tables": true
}
EOF
然后重启Docker服务;
systemctl restart docker
Docker-Compose启用IPv6
docker-compose.yaml
中使用以下配置启用IPv6地址:
networks:
local_bridge:
enable_ipv6: true
driver: bridge
ipam:
config:
- subnet: "fd00:1001::/80"
docker-compose.yaml
文件必须使用 version: "2",version: "3" 不支持 enable_ipv6
配置;
如果已有旧的容器在运行(网络配置发生了变化),则需要先销毁容器 docker-compose down
然后再重新创建 docker-compose up
;
手动创建IPv6网络
创建网络时带 --ipv6
选项,示例如下:
docker network create -d bridge --ipv6 --subnet "fd00:1001::/80" local_bridge
测试
最后在容器内ping一下IPv6地址;
# 进入容器命令行
docker exec -it php bash
# 为容器安装ping命令
apt-get update
apt-get install iputils-ping
# ping
ping -6 dns.google