精选

暂未设置文章

解决 Docker 容器无法访问 ipv6 问题

资讯 0

今天打开 docker 启动的 next-terminal 发现无法使用 ipv6 地址 ssh 到家里的机器,但是在宿主机却是可以的,猜测应该是 docker 导致的问题。

由于docker默认没有开启IPv6支持,在容器内部输入命令 curl -6 ip.sb 就会报错。

curl -6 ip.sbcurl: (7) Failed to connect to ip.sb port 80 after 1 ms: Could not connect to server

于是网上搜索了一番,发现只需要按照如下配置即可访问。

  • 修改docker配置文件

这种方式是让 docker 默认的 bridge 网络启用 ipv6

修改 docker 配置文件 /etc/docker/daemon.json添加如下内容

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

需要重启 docker 才能生效。

systemctl restart docker

由于 docker-compose 会自动创建桥接网络,但是自动创建的网络是没有 ipv6 的,所以需要自定义网络并进行如下配置。

docker-compose.yaml 文件中添加如下内容

networks:default-network:name: default-networkenable_ipv6: truedriver: bridgeipam:driver: defaultconfig:- subnet: fd00:db8:1234::/64gateway: fd00:db8:1234::1

然后容器配置使用自定义网络:

services:next-terminal:image: dushixiang/next-terminal:v1.3.9container_name: next-terminal#省略其它...networks:- default-network


本网站部分资源来自网络,仅供大家学习参考,请与24小时之内删除 软件无法下载或下载后无法使用,请点击报错,谢谢!

支付宝
微信
QQ钱包
文章目录