# docker 打包 frp客户端和服务端 --- ## 1、背景 自从入了树莓派、黑裙辉等设备的坑后就开始琢磨frp内网穿透的技术了,这不,为了方便自己管理和操作frp客户端,准备用docker部署frp客户端和服务端,由于网上现成的docker-frp包版本不一,一直用0.20.0版本的我就决定自己动手。 ## 2、环境介绍 首先你需要有一台拥有**公网ip**的 服务器/电脑 一台用来部署frp服务端,下面是我的服务器环境。 - 系统:centos7.2 - frp版本:0.20.0 - docker版本:19.03.12 `此处省略centos安装docker环境的介绍,请自行百度!` `frp版本请自行上github下载(下载好自己需要的版本即可)` ## 3、frps服务端 ### ①Dockerfile文件 - 创建工作目录 ```bash cd /home/admin mkdir docker && cd docker mkdir frps && cd frps ``` - 将下载好的frps文件放入此文件夹`/home/admin/docker/frps`中 - 创建frps.ini配置文件 ```bash mkdir conf && vi conf/frps.ini ``` > 将以下内容填入frps.ini ```bash [common] bind_addr = 0.0.0.0 bind_port = 7000 dashboard_addr = 0.0.0.0 dashboard_port = 7001 dashboard_user = admin dashboard_pwd = admin privilege_token = frp123 max_pool_cout = 6 ``` - 创建Dockerfile ```bash vi Dockerfile ``` > 将以下内容填入Dockerfile ```bash # frps for Dockerfile #frps_version=0.20.0 FROM alpine:latest MAINTAINER zbl <1399853961@qq.com> ARG FRP_VERSION=0.20.0 RUN set -ex \ && mkdir -p /var/frp COPY frps /var/frp/frps RUN chmod +x /var/frp/frps VOLUME /var/frp/conf # conf被配置成了卷,方便以后修改frps.ini WORKDIR /var/frp ENTRYPOINT ./frps -c ./conf/frps.ini >> ./conf/log/info.log 2>> ./conf/log/error.log ``` ### ②编译镜像 创建完Dockerfile文件后则可以开始打包镜像了 ```bash docker build --tag="zbl/docker-frps:0.20.0" ``` ### ③创建容器 在编译好自己的镜像后下一步当然是创建容器启动该镜像啦! ```bash # -d 后台运行 -v 磁盘映射 --name 容器名 -p 映射端口 docker run -d -v /home/docker/frp/conf:/var/frp/conf --name frps -p 27000:7000 -p 27001:8000 -p 27002-27010:27002-27010 zbl/docker-frps:0.20.0 ``` ### ④导出镜像 每次换一台机器都需要重新打包编译一遍,这样是不是太麻烦了呢?由于懒得注册docker官网仓库,于是选择手动导出镜像包文件 ```bash #保存为tar文件 docker save > docker-frps.tar zbl/docker-frps:0.20.0 ``` ## 4、frpc客户端 ### ①Dockerfile文件 - 创建工作目录 ```bash cd /home/admin mkdir docker && cd docker mkdir frpc && cd frpc ``` - 将下载好的frpc文件放入此文件夹`/home/admin/docker/frpc`中 - 创建frpc.ini配置文件 ```bash mkdir conf && vi conf/frpc.ini ``` > 将以下内容填入frpc.ini ```bash [common] server_addr = 你的服务器ip server_port = 27000 privilege_token = frp123 login_fail_exit = false [myComputer] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 27007 ``` - 创建Dockerfile ```bash vi Dockerfile ``` > 将以下内容填入Dockerfile ```bash # frpc for Dockerfile #frpc_version=0.20.0 FROM alpine:latest MAINTAINER zbl <1399853961@qq.com> ARG FRP_VERSION=0.20.0 RUN set -ex \ && mkdir -p /var/frp COPY frps /var/frp/frpc RUN chmod +x /var/frp/frpc VOLUME /var/frp/conf # conf被配置成了卷,方便以后修改frps.ini WORKDIR /var/frp ENTRYPOINT ./frpc -c ./conf/frpc.ini >> ./conf/log/info.log 2>> ./conf/log/error.log ``` ### ②编译镜像 创建完Dockerfile文件后则可以开始打包镜像了 ```bash docker build --tag="zbl/docker-frpc:0.20.0" ``` ### ③创建容器 在编译好自己的镜像后下一步当然是创建容器启动该镜像啦! ```bash # -d 后台运行 -v 磁盘映射 --name 容器名 --net host模式 与主机共享端口 docker run -d -v /home/docker/frp/conf:/var/frp/conf --name frpc --net host zbl/docker-frpc:0.20.0 ``` ### ④导出镜像 每次换一台机器都需要重新打包编译一遍,这样是不是太麻烦了呢?由于懒得注册docker官网仓库,于是选择手动导出镜像包文件 ```bash #保存为tar文件 docker save > docker-frpc.tar zbl/docker-frpc:0.20.0 ``` > - 导入镜像 > > ```bash > docker load < docker-frpc.tar zbl/docker-frpc:0.20.0 > ``` ## 5、完成 启动服务端和客户端后进入服务端的dashboard面板即可看到已建立连接的端口啦。  最后修改:2020 年 12 月 19 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏
2 条评论
看到你的网站,觉得很不错,希望能与你互相友情链接…
我的网站:建站知道网-http://wozhidaole.com.cn/
如果同意的话,回复后互相上链接!
感谢您的支持,您的网站目前处于无法访问状态,原谅我暂时不能给您添加友链,请修复后联系我添加。