ipv6服务器踩坑总结
ipv6服务器踩坑总结
ipv6服务器是便宜,但是玩起来还是很蛋疼,很多坑,记录一下
1.docker容器开启ipv6
docker容器默认是关闭ipv6的,需要手动开启
宝塔设置docker的ipv6
在宝塔的docker设置中,找到ipv6设置,开启ipv6
然后配置ipv6地址,本机ipv6后面添加/64,比如本机ipv6是2409:8a00:3:2::1,那么容器ipv6地址就是2409:8a00:3:2::1/64
然后再在docker网络里添加ipv6网络
添加的方法和1panel一样
1panel设置docker的ipv6
用1panel面板,对docker的支持比较友好,设置ipv6相对简单,在ipv6设置里设置ipv6地址+/64,勾选ip6tables和experimental
然后在网络中创建一个ipv6的docker网络,因为我是纯IPV6服务器,就不设置ipv4地址了,只需要填写ipv6的子网就行了,子网是ip地址少最后一段
比如
1 | xxxx:xxxx:8x:xxxx::22d #假如这是我的ipv6地址(随便编的) |
docker使用host模式
在宝塔和1panel中,docker的host模式使用有时候无效,建议在代码里设置host模式
在docker-compose.yml中设置
1 | network_mode: host |
这样更好,因为docker的host模式,容器和宿主机共享网络,这样设置,容器和宿主机网络是互通的,不需要设置端口映射,也不需要设置ipv6网络
node打包成docker镜像
在node项目中,RUN npm ci –omit=dev这个设置,可能会因为网络原因,导致无法下载依赖,ai给的建议是直接把node_modules打包到镜像里,这样就不会因为网络问题导致打包失败
1 | COPY node_modules ./node_modules |
数据库链接
这也是个坑,有的服务器不识别ipv4地址导致数据库链接失败,需要使用ipv6的地址,比如
数据库链接,如果使用ipv6,需要使用[::1],而不是127.0.0.1,否则会链接失败
1 | ::1 |
面板使用终端
在宝塔面板或者1panel面板中,使用终端,有概率会无法使用
建议还是用ssh工具更稳定
总结
ipv6服务器,确实比ipv4服务器要麻烦一些,但是只要配置好,使用起来还是很方便的,希望我的总结能帮到大家,后续有什么坑,我会继续更新







