如果直接在宿主机部署Frp,为了确保它开机启动,需要把它设置为一个服务。以前一直运转良好,直到我今天在同一个设备上试图运行两个Frp的时候,因为未知错误,宿主机的核心进程崩溃了,算是踩了一个大坑。后来查了一下,Frp支持Docker部署。那还说什么,干脆直接用Docker部署一个容器,既方便管理,还可以防止触及到核心进程。在这里记录一下这个坑,并且直接把doctor compose附在下方,方便大家一键启动
#创建 docker compose 文件
nano docker-compose.yml
services:
frpc:
image: snowdreamtech/frpc:latest
container_name: frpc
restart: unless-stopped
network_mode: host
volumes:
- /Docker/frp/frpc.toml:/etc/frp/frpc.toml:ro
# 这里做了双重冗余,我没有测试不这样做能否正常运行,建议根据实际情况处理
- /Docker/frp:/frp
#创建 frpc.toml 文件
nano frpc.toml
serverAddr = "服务器IP"
serverPort = 7000
auth.token = "密码"
[[proxies]]
name = "名称1"
type = "tcp"
localIP = "127.0.0.1"
localPort = 本地端口
remotePort = 远程端口
[[proxies]]
name = "名称2"
type = "tcp"
localIP = "127.0.0.1"
localPort = 本地端口
remotePort = 远程端口
# 构建容器
docker compose up -d