在docker中安装frp
侧边栏壁纸
博主昵称
旁逸斜出

读史使人明智,读诗使人灵秀,数学使人周密,科学使人深刻,伦理学使人庄重,逻辑修辞之学使人善辩:凡有所学,皆成性格。

  • 累计撰写 36 篇文章
  • 累计收到 228 条评论

在docker中安装frp

who
who
2024-06-16 / 2 评论 / 563 阅读 / 正在检测是否收录...

frp是一个好用的内网穿透项目:https://github.com/fatedier/frp
如果不使用docker安装frp,可以参考官方教程:https://gofrp.org/zh-cn/docs/setup/
如果用docker安装,可以方便管理,不用使用那些自启动脚本之类的
使用这个docker镜像来安装:https://hub.docker.com/r/snowdreamtech/frps

下面均采用linux和可以访问https://hub.docker.com/的服务器来安装

安装docker

wget -qO- get.docker.com | bash
docker -v  #查看docker版本
systemctl enable docker  # 设置开机自动启动

修改Docker配置(可选)

以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘:

cat > /etc/docker/daemon.json <<EOF
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true
}
EOF

然后重启 Docker 服务:

systemctl restart docker

安装Docker-compose(可选)

Compose 是用于定义和运行多容器 Docker 应用程序的工具

sudo curl -L "https://github.com/docker/compose/releases/download/2.27.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

docker-compose --version  #查看docker-compose版本
docker-compose更新
cd /root/data/docker_data/frps

docker-compose down 

cp -r /root/data/docker_data/fprs /root/data/docker_data/frps.archive  # 其实就是备份一下frps.ini这个文件

docker-compose pull

docker-compose up -d 

docker image prune  # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像

安装frps

不使用docker-compose
sudo -i

mkdir -p /root/data/docker_data/frps

cd /root/data/docker_data/frps

touch frps.toml

vim frps.toml

#输入下面的配置,仅参考

bindPort = 1443   #服务端监听端口
auth.method = "token"   #服务端连接身份认证,默认token
auth.token = "dsafja3fvz25ernca"   #服务端token密码

transport.tls.force = false  #是否只接受启用了TLS的客户端连接

#frp服务仪表板配置
#dashboard端口,启动成功后可通过浏览器访问如http://ip:9007
webServer.port = 9007
webServer.addr = "0.0.0.0" 
webServer.user = "admin1" 
webServer.password = "youareadmin1"
#拉取frps镜像
docker pull snowdreamtech/frps
启动frps
docker run --restart=always --network host -d -v ./frps.toml:/etc/frp/frps.toml --name frps snowdreamtech/frps
sudo -i

mkdir -p /root/data/docker_data/frps
cd /root/data/docker_data/frps

vim docker-compose.yml

#输入下面的命令

version: '3.8' #此数字需要根据安装的docker-compose版本而定
services:
    frps:
        restart: always
        network_mode: host
        volumes:
            - './frps.toml:/etc/frp/frps.toml'
        container_name: frps
        image: snowdreamtech/frps
touch frps.toml

vim frps.toml

#输入下面的配置,仅参考

bindPort = 1443   #服务端监听端口
auth.method = "token"   #服务端连接身份认证,默认token
auth.token = "dsavmlr949rnca"   #服务端token密码

transport.tls.force = false  #是否只接受启用了TLS的客户端连接

#frp服务仪表板配置
#dashboard端口,启动成功后可通过浏览器访问如http://ip:9007
webServer.port = 9007
webServer.addr = "0.0.0.0" 
webServer.user = "admin1" 
webServer.password = "youareadmin1" 
#启动frps
docker-compose up -d

#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

需要根据自己的服务器放行相应的端口

#以ufw为例

sudo ufw allow 9007/tcp
sudo ufw allow 1443/tcp
sudo ufw reload

安装frpc

frpc根据情况在nas或其他设备上安装(依然选择snowdreamtech/frpc),下面是一份客户端配置参考,文件名frpc.toml

# frpc.toml
transport.tls.enable = true        # 从 v0.50.0版本开始,transport.tls.enable的默认值为 true
serverAddr = "xxx.xxx.xxx.xxx"  #frps所在的设备IP
serverPort = 1443                 # 公网服务端通信端口

auth.token = "dsavmlr949rnca"             # 令牌,与公网服务端保持一致

[[proxies]]
name = "web"
type = "tcp"
localIP = "127.0.0.1"            # 需要暴露的服务的IP
localPort = 8989                # 将本地9000端口的服务暴露在公网的6060端口
remotePort = 8989                 # 暴露服务的公网入口,依然需要在服务端放行这个端口

参考:
1.https://blog.laoda.de/archives/frp-with-nginx-proxy-manager?cid=4423#73-%E5%AE%89%E8%A3%85nginxproxymanager
2.https://gofrp.org/zh-cn/docs/setup
3.https://hub.docker.com/r/snowdreamtech/frps

0

评论 (2)

OωO
  • ::(呵呵)
  • ::(哈哈)
  • ::(吐舌)
  • ::(太开心)
  • ::(笑眼)
  • ::(花心)
  • ::(小乖)
  • ::(乖)
  • ::(捂嘴笑)
  • ::(滑稽)
  • ::(你懂的)
  • ::(不高兴)
  • ::(怒)
  • ::(汗)
  • ::(黑线)
  • ::(泪)
  • ::(真棒)
  • ::(喷)
  • ::(惊哭)
  • ::(阴险)
  • ::(鄙视)
  • ::(酷)
  • ::(啊)
  • ::(狂汗)
  • ::(what)
  • ::(疑问)
  • ::(酸爽)
  • ::(呀咩爹)
  • ::(委屈)
  • ::(惊讶)
  • ::(睡觉)
  • ::(笑尿)
  • ::(挖鼻)
  • ::(吐)
  • ::(犀利)
  • ::(小红脸)
  • ::(懒得理)
  • ::(勉强)
  • ::(爱心)
  • ::(心碎)
  • ::(玫瑰)
  • ::(礼物)
  • ::(彩虹)
  • ::(太阳)
  • ::(星星月亮)
  • ::(钱币)
  • ::(茶杯)
  • ::(蛋糕)
  • ::(大拇指)
  • ::(胜利)
  • ::(haha)
  • ::(OK)
  • ::(沙发)
  • ::(手纸)
  • ::(香蕉)
  • ::(便便)
  • ::(药丸)
  • ::(红领巾)
  • ::(蜡烛)
  • ::(音乐)
  • ::(灯泡)
  • ::(开心)
  • ::(钱)
  • ::(咦)
  • ::(呼)
  • ::(冷)
  • ::(生气)
  • ::(弱)
  • ::(狗头)
泡泡
阿鲁
颜文字
取消
  1. 头像
    Juana
    Windows 10 · Google Chrome

    如果你想在Docker中安装FRP,这是一个非常简单的过程,可以大大提高你的网络性能和灵活性。有关详细说明和相关信息,请务必查看Arstiapa Piarata
    。他们的指南对初学者和高级用户都非常有帮助!

    回复
  2. 头像
    Mateo
    Windows 10 · Google Chrome

    让我们看看 SoftwaresDrive.com 的这篇文章,您可能会在其中发现一些有价值的知识和知识。 Autodesk PowerShape Ultimate SoftwaresDrive 文章快速浏览。

    回复