Docker实践:部署内网穿透frp
1.创建配置文件目录
cd /home目录
mkdir frp
最后的目录结构:
2.创建服务端配置文件
vi frps.ini
[common] bind_port = 17000 token = myToken vhost_http_port = 10080 vhost_https_port = 10443 dashboard_port = 17500 dashboard_user = admin dashboard_pwd = admin tcp_mux = true max_pool_count = 10
3.创建服务端yml文件
vi frps-docker-compose.yml
version: '3' services: frps: image: snowdreamtech/frps ports: - "17000:17000" - "27500:17500" - "10022:10022" #用于ssh连接 - "10080:10080" #用于开放给外网访问 # 更多端口根据实际需求增加 volumes: - ./frps.ini:/etc/frp/frps.ini container_name: frps
4.启动服务端
docker-compose -f frps-docker-compose.yml up
注意:开启后台运行-d
5.创建客户端配置文件
vi frpc.ini
[common] #服务器ip server_addr = x.x.x.x server_port = 17000 token = myToken [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 10022 use_encryption = true use_compression = true [pi.mydomain.com] type = http local_port = 80 custom_domains = pi.mydomain.com
6.创建客户端yml文件
vi frpc-docker-compose.yml
version: '3' services: frpc: image: cloverzrg/frpc-docker volumes: - ./frpc.ini:/conf/frpc.ini container_name: frpc network_mode: host
8.启动客户端
docker-compose -f frpc-docker-compose.yml up -d
- 访问域名
http://pi.mydomain.com:10080
,可以正常访问网页(前提是客户端所在机器启动http服务器,并监听80端口);,注意先将 pi.mydomain.com的域名 A 记录解析到 IPx.x.x.x
,如果服务器已经有对应的域名,也可以将 CNAME 记录解析到服务器原先的域名。 - 通过ssh -p 10022 用户名@x.x.x.x远程连接;
- 访问
http:x.x.x.x:27500
,可以看到仪表盘,里面显示了各个客户端的连接情况.