共计 816 个字符,预计需要花费 3 分钟才能阅读完成。
今天打开 docker 启动的 next-terminal
发现无法使用 ipv6 地址 ssh 到家里的机器,但是在宿主机却是可以的,猜测应该是 docker 导致的问题。
由于docker默认没有开启IPv6支持,在容器内部输入命令 curl -6 ip.sb
就会报错。
curl -6 ip.sb
curl: (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-network
enable_ipv6: true
driver: bridge
ipam:
driver: default
config:
- subnet: fd00:db8:1234::/64
gateway: fd00:db8:1234::1
然后容器配置使用自定义网络:
services:
next-terminal:
image: dushixiang/next-terminal:v1.3.9
container_name: next-terminal
#省略其它...
networks:
- default-network
AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完