docker 打包 frp客户端和服务端
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
②编译镜像
创建完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
②编译镜像
创建完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面板即可看到已建立连接的端口啦。