笔头云 笔头云
首页
设计模式
SQL教程
Redis
归档
关于
友链

笔头云

非淡泊无以明志,非宁静无以致远。
首页
设计模式
SQL教程
Redis
归档
关于
友链
  • JsonProperty
  • Git常用命令
  • Office Util办公工具
  • FRP内网穿透docker部署
    • 软件说明
    • 组成部分
    • docker部署服务端frps
    • 树莓派docker部署客户端frpc
    • 软件截图
  • 后端
笔头云
2025-05-07
目录

FRP内网穿透docker部署工具

# 软件说明

FRP(Fast Reverse Proxy)是一种快速反向代理工具,主要用于内网穿透。它能够帮助用户将位于局域网内的服务暴露到公网,方便外部访问。FRP支持TCP、UDP、HTTP、HTTPS等协议,并且提供了丰富的功能来满足不同的使用场景。

# 组成部分

frps (FRP Server):运行在有公网IP的服务器上,作为整个frp架构中的服务端,负责接收来自客户端的请求并转发到相应的服务。

linux_amd64_0.62.1下载: github下载: (opens new window) 百度网盘下载 (opens new window)

frpc (FRP Client):运行在局域网内的设备上,作为客户端,负责建立与服务端的连接并将本地服务映射到公网。

树莓派arm64_0.62.1下载: github下载 (opens new window) 百度网盘下载 (opens new window)

# docker部署服务端frps

文件(linux amd64架构)

  • frp_0.62.1_linux_amd64.tar.gz
  • Dockerfile
  • docker-compose.yml
  • frps.toml
    FROM alpine:3.20 as preparer
    
    WORKDIR /tmp
    
    COPY ./frp_0.62.1_linux_amd64.tar.gz ./
    
    # 解压 frp 包
    RUN tar -zxvf frp_0.62.1_linux_amd64.tar.gz && \
    mv /tmp/frp_0.62.1_linux_amd64 /tmp/frp
    
    FROM alpine:3.20
    
    WORKDIR /app
    
    # 安装 tzdata(用于设置时区)
    RUN apk add --no-cache tzdata && \
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" > /etc/timezone
    
    # 从第一阶段复制 frp 二进制文件和配置示例
    COPY --from=preparer /tmp/frp/frpc /app/
    COPY --from=preparer /tmp/frp/frps /app/
    
    # 默认命令为空,用户可自行选择运行 frpc 或 frps
    CMD ["sh", "-c", "echo '请通过正确命里启动frpc或frps'; exit 1"]
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    version: '3.8'
    services:
      frps:
        build:
          context: .
          dockerfile: Dockerfile
        container_name: frps
        volumes:
          - ./frps.toml:/app/frps.toml
        command: ["/app/frps", "-c", "/app/frps.toml"]
        restart: unless-stopped
        network_mode: host
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    bindPort = 7000 # frps监听的端口,用于客户端连接
    auth.method = "token"
    auth.token = "password" # 客户端认证密码
    # 可选配置,指定dashboard相关的设置,便于管理
    webServer.addr = "0.0.0.0" # 开放访问权限
    webServer.port = 7500
    webServer.user = "admin"
    webServer.password = "password" # dashboard 登录密码
    # 可选配置,用于记录日志
    log.to = "./frps.log"
    log.level = "info"
    log.maxDays = 3
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 启动服务端
    docker-compose up -d --build
    
    1
    2
    // Make sure to add code blocks to your code group

    frps.toml全部配置参考:frps.toml (opens new window)

    # 树莓派docker部署客户端frpc

    文件(树莓派4b)

    • frp_0.62.1_linux_arm64.tar.gz
    • Dockerfile
    • docker-compose.yml
    • frpc.toml
      # 需要能访问外网(不能下载从下方链接下载)
      docker pull arm64v8/alpine:3.15 # 拉取镜像
      docker save arm64v8/alpine:3.15 -o arm64v8-alpine-3.15.tar # 导出镜像
      
      # 导入镜像
      docker load -i arm64v8-alpine-3.15.tar
      
      
      1
      2
      3
      4
      5
      6
      7
      FROM arm64v8/alpine:3.15 as preparer
      
      WORKDIR /tmp
      
      # frp_0.62.1_linux_arm64.tar.gz 存在于构建上下文中
      COPY ./frp_0.62.1_linux_arm64.tar.gz ./
      
      # 解压 frp 包
      RUN tar -zxvf frp_0.62.1_linux_arm64.tar.gz && \
      mv /tmp/frp_0.62.1_linux_arm64 /tmp/frp
      
      FROM arm64v8/alpine:3.15
      
      WORKDIR /app
      
      # 安装 tzdata(用于设置时区)
      RUN apk add --no-cache tzdata && \
      cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
      echo "Asia/Shanghai" > /etc/timezone
      
      # 从第一阶段复制 frp 二进制文件
      COPY --from=preparer /tmp/frp/frpc /app/
      
      # 设置默认命令
      CMD ["sh", "-c", "echo '请通过指定正确的命令启动 frpc'; exit 1"]
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      version: '3.3'
      
      services:
        frpc:
          build:
            context: .
            dockerfile: Dockerfile
          container_name: frpc
          volumes:
            - ./frpc.toml:/app/frpc.toml
          command: ["/app/frpc", "-c", "/app/frpc.toml"]
          restart: unless-stopped
          network_mode: host
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      serverAddr = "x.x.x.x" # 服务端IP地址
      serverPort = 7000
      # 认证
      auth.method = "token"
      auth.token = "password"
      # 日志
      log.to = "./frpc.log"
      log.level = "info"
      log.maxDays = 3
      
      # ssh (ssh -p 6000 username@ip)
      [[proxies]]
      name = "ssh"
      type = "tcp"
      localIP = "127.0.0.1"
      localPort = 22
      # 服务端监听的远程端口,用于外部访问。
      remotePort = 6000
      
      # http (ip:8000访问内网web应用)
      [[proxies]]
      name = "web" 
      type = "http"
      localIp = "127.0.0.1"
      localPort = 80 # 内网Web服务器的端口号
      # 自定义域名,有域名的可以填写域名,没有域名填写服务端IP地址
      customDomains = ["x.x.x.x"]
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      # 启动客户端
      docker-compose up -d --build
      
      1
      2
      // Make sure to add code blocks to your code group

      树莓派基础镜像: arm64v8-alpine-3.15.tar下载 (opens new window)

      frpc.toml全部配置参考:frpc.toml (opens new window) 提取码:1m8g

      # 软件截图

      服务端

      - img: https://bitouyun.com/images/frp/frps.png
        link: https://bitouyun.com/images/frp/frps.png
        name: 服务端
      
      1
      2
      3
      Office Util办公工具

      ← Office Util办公工具

      最近更新
      01
      Office Util办公工具 工具
      01-14
      02
      Git常用命令
      01-16
      03
      JsonProperty
      12-25
      更多文章>
      Theme by Vdoing | Copyright © 2023-2025 鲁ICP备2023014898号 公安备案号:37020302372159
      • 跟随系统
      • 浅色模式
      • 深色模式
      • 阅读模式
      ×