Docker 安装配置 FRP
1. 创建配置目录与文件
创建 frps 配置目录:
mkdir -p /root/data/docker_data/frps
cd /root/data/docker_data/frps
vim docker-compose.yml编写 docker-compose.yml 文件内容:
version: '3.8'
services:
frps:
restart: always
network_mode: host
volumes:
- './frps.toml:/etc/frp/frps.toml'
container_name: frps
image: snowdreamtech/frps2. 创建 frps 配置文件
创建 frps.toml 文件并编辑内容:
touch frps.toml
vim frps.toml推荐 frps.toml 配置示例:
bindPort = 5555 #服务端监听端口
vhostHTTPPort = 5580
vhostHTTPSPort = 5443
auth.method = "token" #服务端连接身份认证,默认token
auth.token = "dsadfgdfgdfg5ernca" #服务端token密码
transport.tls.force = false #是否只接受启用了TLS的客户端连接3. 启动 FRPS 服务
启动 frps 服务:
docker compose up -d使用docker ps命令查看容器运行状态:
#docker ps 会显示正在运行的docker容器,frps会显示下面类似的
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a9a1aa562935 snowdreamtech/frps "/usr/bin/frps -c /e…" 2 hours ago Up 2 hours frps
[!WARNING]
当多个服务器通过同一个 frps 进行连接时,所有服务的 name 字段必须唯一,不能重复!
4. 客户端配置示例
参考配置:
serverAddr = "1234.xyz"
serverPort = 5555
auth.method = "token"
auth.token = "dsadfgdfgdfg5ernca"
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 10021
[[proxies]]
name = "baota-web"
type = "http"
localIP = "127.0.0.1"
localPort = 10252
customDomains = ["btx86.1234.xyz"]5. Linux 使用systemd实现开机自启相关资料
创建systemd服务文件
创建一个frpc.service文件:
sudo vim /etc/systemd/system/frpc.service将以下内容粘贴到文件中(根据你的实际情况修改路径):
[Unit]
Description=Frp Client Service
After=network.target
[Service]
Type=simple
User=root
ExecStart=/root/frp/frpc -c /root/frp/frpc.toml
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target启用并启动服务
sudo systemctl daemon-reload
# 启用frpc服务(开机自启)
sudo systemctl enable frpc
# 立即启动frpc服务
sudo systemctl start frpc检查服务状态
sudo systemctl status frpc参考以下教程:Ubuntu下设置frp开机启动并后台运行