当前位置:   article > 正文

docker-compose搭建FRP内网穿透_docker安装frp

docker安装frp

1、带有公网的服务器配置好frps,贴出dockerfile

FROM alpine:3.18

MAINTAINER "SYH"

#frp版本
ENV FRP_VERSION 0.49.0

#github因为某些原因可能无法下载,若无法下载,用kgithub代替,kgithub是国内的一个加速代理
RUN mkdir -p /frps \
    && cd /frps \
    && wget https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_amd64.tar.gz \
    && mv frp_${FRP_VERSION}_linux_amd64.tar.gz frp.tar.gz \
    && tar -xzf frp.tar.gz -C ./ --strip-components=1  \
    && rm -f frp.tar.gz

#SERVER端口
EXPOSE 7000

#网页端管理端口
EXPOSE 7500 

WORKDIR /frps

ENTRYPOINT ["./frps","-c","frps.ini"]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

2、构建frps镜像

docker build -f frps-0.49.0.dockerfile -t frps:0.49.0 .
  • 1

3、通过docker-compose启动frps,贴出docker-compose.yaml

version: "2.3"
services:
  frps:
    image: frps:0.49.0
    container_name: frps
    restart: always
    #直接使用主机网络模式
    network_mode: host
    volumes:
      - ./frps/conf/frps.ini:/frps/frps.ini:ro
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

4、docker-compose up -d启动容器,第一次启动会失败,将frps.ini放入./frps/conf/目录下,然后重启frps容器,下面贴出frps.ini

[common]
bind_port = 7000
#这里填入的token客户端frpc会用到
token = xxx
#控制台账户
dashboard_user  = user
#dashboard 控制台密码
dashboard_pwd = password
#dashboard 控制台端口,启动成功后可通过浏览器访问如http://ip:7500
dashboard_port = 7500
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

上面是服务端frps的配置,需要有公网IP
----------------------------------------------------------这是一条分割线------------------------------------------------------------------
下面是客户端frpc的配置,以下配置在需要映射公网ip的内网设备中执行

1、一样先构建镜像,贴出dockerfile

FROM alpine:3.18

MAINTAINER "SYH"

#frp版本
ENV FRP_VERSION 0.49.0

#github因为某些原因可能无法下载,若无法下载,用kgithub代替,kgithub是国内的一个加速代理
RUN mkdir -p /frpc \
    && cd /frpc \
    && wget https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_386.tar.gz \
    && mv frp_${FRP_VERSION}_linux_amd64.tar.gz frp.tar.gz \
    && tar -xzf frp.tar.gz -C ./ --strip-components=1  \
    && rm -f frp.tar.gz

WORKDIR /frpc

ENTRYPOINT ["./frpc","-c","frpc.ini"]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

2、构建frpc镜像,注意这里是frpc,不是frps

docker build -f frpc-0.49.0.dockerfile -t frpc:0.49.0 .
  • 1

3、通过docker-compose启动frpc,贴出docker-compose.yaml

version: "2.3"
services:
  frpc:
    image: frpc:0.49.0
    container_name: frpc
    restart: always
    #直接使用主机网络模式
    network_mode: host
    volumes:
      - ./frpc/conf/frpc.ini:/frpc/frpc.ini:ro
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

4、docker-compose up -d启动容器,第一次启动会失败,将frpc.ini放入./frpc/conf/目录下,然后重启frpc容器,下面贴出frpc.ini

[common]
#frps的服务器配置,和上一份frps的配置需要一致
#服务器的公网ip
server_addr = 0.0.0.0
#服务器的端口
server_port = 7000
#服务器的token
token = xxx
#客户端也有管理页面,和服务端管理不一样,这个是直接本地ip+端口范围
admin_addr = 127.0.0.1
admin_port = 7400
admin_user = user
admin_pwd = password

#需要映射服务名,需要唯一,建议把映射的本地端口以及远程目标端口写上,方便服务端控制台区分
[smaba-139to7001]
type = tcp
local_ip = 127.0.0.1
#需要映射的本地端口
local_port = 139
#远程目标端口
remote_port = 7001

[smaba-445to7002]
type = tcp
local_ip = 127.0.0.1
local_port = 445
remote_port = 7002

  • 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
  • 28
  • 29

两边都设置好之后,以下是服务端管理界面的效果图:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/85059
推荐阅读
相关标签
  

闽ICP备14008679号