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文件
- 创建工作目录
cd /home/admin
mkdir docker && cd docker
mkdir frps && cd frps
- 将下载好的frps文件放入此文件夹
/home/admin/docker/frps
中 创建frps.ini配置文件
mkdir conf && vi conf/frps.ini
将以下内容填入frps.ini
[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
vi Dockerfile
将以下内容填入Dockerfile
# 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文件后则可以开始打包镜像了
docker build --tag="zbl/docker-frps:0.20.0"
③创建容器
在编译好自己的镜像后下一步当然是创建容器启动该镜像啦!
# -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官网仓库,于是选择手动导出镜像包文件
#保存为tar文件
docker save > docker-frps.tar zbl/docker-frps:0.20.0
4、frpc客户端
①Dockerfile文件
- 创建工作目录
cd /home/admin
mkdir docker && cd docker
mkdir frpc && cd frpc
- 将下载好的frpc文件放入此文件夹
/home/admin/docker/frpc
中 创建frpc.ini配置文件
mkdir conf && vi conf/frpc.ini
将以下内容填入frpc.ini
[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
vi Dockerfile
将以下内容填入Dockerfile
# 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文件后则可以开始打包镜像了
docker build --tag="zbl/docker-frpc:0.20.0"
③创建容器
在编译好自己的镜像后下一步当然是创建容器启动该镜像啦!
# -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官网仓库,于是选择手动导出镜像包文件
#保存为tar文件
docker save > docker-frpc.tar zbl/docker-frpc:0.20.0
导入镜像
docker load < docker-frpc.tar zbl/docker-frpc:0.20.0
5、完成
启动服务端和客户端后进入服务端的dashboard面板即可看到已建立连接的端口啦。
2 条评论
看到你的网站,觉得很不错,希望能与你互相友情链接…
我的网站:建站知道网-http://wozhidaole.com.cn/
如果同意的话,回复后互相上链接!
感谢您的支持,您的网站目前处于无法访问状态,原谅我暂时不能给您添加友链,请修复后联系我添加。