由于服务需要访问 IPv6 网络,且不需要接受外部连接,同时为了安全性考虑,选择了 NAT IPv6 , 共享主机的 v6 公网地址出口
修改 /etc/docker/daemon.json (如没有直接创建)
{
  "ipv6": true,
  "fixed-cidr-v6": "fd00::/80"
}
主机上需要开 v6 转发和做 Masquerade(不做NAT可以忽略这步):
echo "net.ipv6.conf.all.forwarding = 1" >> /etc/sysctl.conf
sysctl -p
ip6tables -t nat -I POSTROUTING -j MASQUERADE
随后重启 docker 服务即可。
service docker restart
2023年更新:如果使用 Docker Compose,示例 docker-compose.yaml 如下:
version: '2.4' # 或更高版本
services:
  myservice:
    image: myimage
    networks:
      - mynetwork
networks:
  mynetwork:
    enable_ipv6: true
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 2001:db8:1::/64