Administrator
发布于 2024-11-28 / 22 阅读
0

frp 搭建

1.docker 安装

frps 安装

frps 采用docker-compose.yml安装 ,部署在拥有公网ip的服务器上

目录结构

frp

--config

--frps.toml

--docker-compose.yml

docker-compose.yml 文件

# 命令执行 docker-compose -f docker-compose.yml up -d
version: '3.9'
services:
  frps:
    image: fatedier/frps:v0.60.0
    hostname: frps
    container_name: frps
    volumes:
      - "./config/frps.toml:/frps.toml"
    command:
      - "-c"
      - "/frps.toml"
    network_mode: "host"

frps.toml 文件

# https://github.com/fatedier/frp/blob/dev/conf/frps_full_example.toml
[common]
# 监听端口
bind_port = 7000
# 面板端口
dashboard_port = 7500
# 登录面板的账号密码(修改成自己的)
dashboard_user = admin
dashboard_pwd = admin
# token =

frp 安装

frpc 采用docker-compose.yml安装 ,部署在内网服务器上

目录结构

frp

--config

--frpc.toml

--docker-compose.yml

docker-compose.yml 文件

# 命令执行 docker-compose -f docker-compose.yml up -d
version: '3.9'
services:
  frpc:
    image: fatedier/frpc:v0.60.0
    hostname: frpc
    container_name: frpc
    volumes:
      - "./config/frpc.toml:/frpc.toml"
    command:
      - "-c"
      - "/frpc.toml"
    network_mode: "host"

frpc.toml 文件

# 服务端地址 https://github.com/fatedier/frp/blob/dev/conf/frpc_full_example.toml
serverAddr = "*.*.*"
# 服务端配置的bindPort
serverPort = 30000
token = "gary"

[[proxies]]
# 代理应用名称,根据自己需要进行配置
name = "gitea"
# 代理类型 有tcp\udp\stcp\p2p
type = "tcp"
# 客户端代理应用IP
localIP = "10.7.127.*"
# 客户端代理应用端口
localPort = 3001
# 服务端反向代理端口;提供给外部访问
remotePort = 30001

常见问题

  1. 客户端链接服务端不成功。解决办法 :检查服务器架构是否对应正确的frp 版本 (查看系统架构命令 uname -a ),frps 服务端服务是否正常启动,端口是否被正常监听

2.手动打docker镜像包机进行部署

如果在部署环节中 找不多对应架构的docker 镜像 可以尝试自己手动打docker 镜像包进行部署。 配置文件frps.toml frpc.toml 与上述相同

frp发行版下载地址:https://github.com/fatedier/frp/releases

frps 部署

目录结构

-frp

-frp

-frps

-frps.toml

-Dockerfile

制作docker 镜像

FROM alpine:latest

COPY /frp /frp

WORKDIR /frp

CMD ["./frps", "-c", "frps.toml"]

这个Dockerfile将使用Alpine Linux作为基础镜像,并将本地的 /frp 目录下的 frps 可执行文件和 frps.toml 配置文件复制到容器的 /frp 目录下。然后设置工作目录为 /frp,并运行 frps 服务并指定 frps.toml 配置文件。

构建Docker镜像。

docker build -t frp-server .

运行 frp 客户端容器

docker run -d --network=host -v /frp/frps.toml:/frps.toml  --name frps  frps

frpc 部署

目录结构

-frp

-frp

-frpc

-frpc.toml

-Dockerfile

制作docker 镜像

FROM alpine:latest

COPY ./frp /frp

WORKDIR /frp

EXPOSE 30000

RUN chmod +x /frp/frpc

CMD ["./frpc","-c","frpc.toml"]

构建 Docker 镜像

docker build -t frpc .

运行 frp 客户端容器

docker run -d --network=host -v /oldfrp/frp/frpc.toml:/frpc.toml  --name frpc  frpc

#docker 保存镜像命令
docker save -o <output_file_name>.tar <image_name>:<tag>

#docker 加载镜像命令
docker load -i <input_file_name>.tar