通过Docker部署FRP实现内网穿透功能
一、服务端部署(frps)
-
拉取 FRP 服务端镜像:
docker pull snowdreamtech/frps
-
启动 FRP 服务端容器: 使用环境变量直接配置服务端参数,无需挂载配置文件:
docker run -d --name frps \ --restart=always \ -p 7000:7000 \ -p 7500:7500 \ -e "FRPS_BIND_PORT=7000" \ -e "FRPS_DASHBOARD_PORT=7500" \ -e "FRPS_DASHBOARD_USER=admin" \ -e "FRPS_DASHBOARD_PASSWORD=admin" \ -e "FRPS_AUTH_METHOD=token" \ -e "FRPS_AUTH_TOKEN=your_secure_token" \ snowdreamtech/frps
-
FRPS_BIND_PORT:服务端监听端口。 -
FRPS_DASHBOARD_PORT:仪表盘端口。 -
FRPS_DASHBOARD_USER和FRPS_DASHBOARD_PASSWORD:仪表盘用户名和密码。 -
FRPS_AUTH_METHOD和FRPS_AUTH_TOKEN:认证方式和令牌,客户端需要使用相同的令牌。
-
二、客户端部署(frpc)
-
拉取 FRP 客户端镜像:
docker pull snowdreamtech/frpc
-
启动 FRP 客户端容器: 使用环境变量直接配置客户端参数,无需挂载配置文件:
docker run -d --name frpc \ --restart=always \ -e "FRPC_SERVER_ADDR=your_server_ip" \ -e "FRPC_SERVER_PORT=7000" \ -e "FRPC_AUTH_METHOD=token" \ -e "FRPC_AUTH_TOKEN=your_secure_token" \ -e "FRPC_PROXY_NAME=ssh" \ -e "FRPC_PROXY_TYPE=tcp" \ -e "FRPC_PROXY_LOCAL_IP=127.0.0.1" \ -e "FRPC_PROXY_LOCAL_PORT=22" \ -e "FRPC_PROXY_REMOTE_PORT=6000" \ snowdreamtech/frpc
-
FRPC_SERVER_ADDR和FRPC_SERVER_PORT:服务端的 IP 地址和端口。 -
FRPC_AUTH_METHOD和FRPC_AUTH_TOKEN:认证方式和令牌,与服务端一致。 -
FRPC_PROXY_NAME:代理名称。 -
FRPC_PROXY_TYPE:代理类型(如tcp、http)。 -
FRPC_PROXY_LOCAL_IP和FRPC_PROXY_LOCAL_PORT:本地服务的 IP 和端口。 -
FRPC_PROXY_REMOTE_PORT:服务端暴露的远程端口。
-
三、验证部署
-
访问仪表盘: 在浏览器中访问
http://your_server_ip:7500,输入用户名和密码,查看服务端的仪表盘。 -
测试穿透服务:
-
如果配置了 SSH 穿透,可以通过以下命令测试:
ssh -p 6000 user@your_server_ip
-
如果配置了 HTTP 穿透,可以通过浏览器访问
http://your_server_ip
-

浙公网安备 33010602011771号