手把手教你自建IP数据库

1,首先安装docker

# 下载并执行Docker官方安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker

2,开启docker IPV6支持

vim /etc/docker/daemon.json

{ "ipv6": true, "fixed-cidr-v6": "fd00::/64", "log-driver": "none" }

docker network create --ipv6 --subnet="fd00:1:2:3::/64" my-ipv6-network

3,启动docker

镜像可以用这个https://github.com/ljxi/GeoCN

docker run -d
--name my-container
--network my-ipv6-network
-p 0.0.0.0:8000:80 -p [::]:8000:80 netart/ipapi

这时候你可以正常用IPv4地址访问8000端口了 http://ip:8000 ,但这个镜像默认没有监听IPV6地址,所以我们要稍微修正下,进容器里面,安装vim,编辑update_and_restart.sh,在sleep 86400; 这行上面添加,再启动一个uvicorn监听 IPV6地址,重启下容器即可。

docker exec -it my-container /bin/sh
apt-get update
apt-get install vim
vim update_and_restart.sh

----要添加的一行-----
nohup uvicorn main:app --host :: --port 8080 --no-server-header --proxy-headers &

好了 现在用IPv6地址也可以访问了,http://[ipv6地址]:8000

你也可以使用我修改的镜像,主要改进:1,使用 Gunicorn替换uvicorn命令,IPv4/IPv6 双栈同时绑定;2,服务放前台,更新放后台,增强了容器健壮性,更新ip数据库的时候,不会中断服务,建议开启容器自启;

docker run -d
--name checkip
--network my-ipv6-network
-p 0.0.0.0:8000:8080 -p [::]:8000:8080 cyang/checkip

 

版权声明:
作者:wkweb
链接:https://www.wkweb.cn/2843.html
来源:哇咔资源网
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
手把手教你自建IP数据库
1,首先安装docker # 下载并执行Docker官方安装脚本 curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh # 启动Docker服务 sud……
<<上一篇
下一篇>>