课程的教程是使用natapp,购买一个隧道来固定域名来配置内网穿透环境。但是我已经有了一台云服务器,就不太想再买这个,自己用Frp配置一下得了。
云服务器配置
首先在云服务器上使用docker配置,这里是使用了1panel的面板(感觉这个比宝塔好看),在应用商店里面找到frp服务端,点击安装即可,记得改下用户名、密码、密钥这些。
用户名、密码:是打开frp服务端控制台界面用的
密钥:是frp客户端连接frp服务端用的
本机配置
本地的docker-compose-environment-aliyun.yml上添加
# Frpc: 内网穿透客户端
frpc:
image: snowdreamtech/frpc:latest
container_name: frpc
restart: always
volumes:
- ./frpc/frpc.toml:/etc/frp/frpc.toml
network_mode: host然后创建这./frpc/frpc.toml文件。auth.token 这个里面的内容就是服务器那里的密钥
# frpc.toml
# 你的frp服务器的公网IP地址
serverAddr = "xx.xx"
# frp服务器开放给客户端连接的端口
serverPort = 7000
# frp服务器设置的访问令牌(token)
# 配置Token鉴权,要与服务端一致
auth.method = "token"
auth.token = "321431243n"
# [[proxies]]
[[proxies]]
# 代理的名称
name = "web_8080"
# 代理的类型
type = "tcp"
# 本地服务的IP地址,
localIP = "172.24.0.1"
# 本地服务的端口
localPort = 8080
# 你希望在公网服务器上暴露的端口
remotePort = 8080然后运行docker即可。

不知道为什么吗,localIP = "127.0.0.1"时,docker里面的网络配置成了host,还是访问不到宿主机。最后排查了好久,改用172.24.0.1才解决。
问了下gemini,改成这样也可以访问。
# 使用Docker官方推荐的地址来访问宿主机
localIP = "host.docker.internal"