首页 > 大数据 > 数据分析 > 容器化 FRP 使用方案
v0.34.1 版本只发布了容器版本,并未像之前一样发布多种编译版本。[common]
bind_port = {{ .Envs.FRP_SERVER_PORT }}
token = {{ .Envs.FRP_SERVER_TOKEN }}
dashboard_addr = 0.0.0.0
dashboard_port = {{ .Envs.FRP_ADMIN_PORT }}
dashboard_user = {{ .Envs.FRP_ADMIN_USER }}
dashboard_pwd = {{ .Envs.FRP_ADMIN_PASS }}
docker-compose.yml 中使用环境变量来对程序的服务端进行“动态”配置了:version: "3.7" services: frps: restart: always container_name: frps image: fatedier/frps:v0.34.1 volumes: - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro - ./frps.ini:/app/frps.ini:ro command: frps -c /app/frps.ini ports: - 9870:9870 - 7890:7890 - YOURPORT:YOURPORT environment: - FRP_SERVER_PORT=9870 - FRP_SERVER_TOKEN=CMW9viCpy1FZ - FRP_ADMIN_PORT=7890 - FRP_ADMIN_USER=soulteary - FRP_ADMIN_PASS=soulteary networks: - frps logging: driver: "json-file" options: max-size: "1m" # docker network create frps networks: frps: external: true
ports 字段中,目前只声明了
FRP_SERVER_PORT 服务端通讯接口和
FRP_ADMIN_PORT 服务端管理接口,所以我们需要再根据自己的情况添加一个/一些应用接口。docker-compose up -d 启动服务,如果顺利的话,将看到类似下面的日志:frps | 2020/10/04 19:52:27 [I] [service.go:190] frps tcp listen on 0.0.0.0:9870 frps | 2020/10/04 19:52:27 [I] [service.go:289] Dashboard listen on 0.0.0.0:9870 frps | 2020/10/04 19:52:27 [I] [root.go:212] start frps success
[common]
server_addr = {{ .Envs.FRP_SERVER_ADDR }}
server_port = {{ .Envs.FRP_SERVER_PORT }}
token = {{ .Envs.FRP_SERVER_TOKEN }}
[app]
type = tcp
remote_port = {{ .Envs.APP_REMOTE_PORT }}
local_ip = {{ .Envs.APP_HOST }}
local_port = {{ .Envs.APP_PORT }}
docker-compose.yml 配置文件:version: "3.7" services: frpc: restart: always image: fatedier/frpc:v0.34.1 volumes: - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro - ./frpc.ini:/app/frpc.ini:ro environment: - FRP_SERVER_ADDR=123.456.789.012 - FRP_SERVER_PORT=9870 - FRP_SERVER_TOKEN=CMW9viCpy1FZ - APP_REMOTE_PORT=YOURPORT - APP_HOST=YOUR_APP_HOST - APP_PORT=YOUR_APP_PORT networks: - frpc logging: driver: "json-file" options: max-size: "1m" # docker network create frpc networks: frpc: external: true
APP_HOST 和
APP_PORT 指代的是 FRPC 客户端在容器网络中能够访问到的要映射到前文服务器中的应用的地址及端口。而
APP_REMOTE_PORT 指的则是上文中的
YOURPORT,比如 80 端口、或者 443 端口。docker-compose up -d 启动服务,然后可以看到客户端的运行日志:frpc | 2020/10/04 20:42:56 [I] [service.go:288] [62e9e2de742523fe] login to server success, get run id [62e9e2de742523fe], server udp port [0] frpc | 2020/10/04 20:42:56 [I] [proxy_manager.go:144] [62e9e2de742523fe] proxy added: [confluence-app] frpc | 2020/10/04 20:42:56 [I] [control.go:180] [62e9e2de742523fe] [app] start proxy success
frps | 2020/10/04 20:42:56 [I] [control.go:446] [62e9e2de742523fe] new proxy [app] success
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69984138/viewspace-2729817/ ,如需转载,请注明出处,否则将追究法律责任。