# 简介FRP(Fast Reverse Proxy)是一款功能强大的反向代理工具,主要用于内网穿透。它可以帮助用户在没有公网IP的情况下,将本地的服务暴露到公网,实现远程访问。Docker作为一种轻量级的容器化技术,为FRP的部署提供了极大的便利性。本文将详细介绍如何使用Docker来部署FRP。---## 一、安装Docker### 1.1 检查系统是否已安装Docker首先,检查您的系统是否已经安装了Docker。可以通过以下命令查看:```bash docker --version ```如果未安装,可以按照以下步骤进行安装。### 1.2 安装Docker#### Ubuntu系统```bash sudo apt-get update sudo apt-get install -y docker.io ```#### CentOS系统```bash sudo yum install -y docker ```安装完成后,启动并设置Docker开机自启:```bash sudo systemctl start docker sudo systemctl enable docker ```---## 二、拉取FRP镜像在Docker Hub上,有许多现成的FRP镜像可供选择。这里我们使用一个常用的镜像:```bash docker pull xiaojun107/frp ```或者,您可以根据需要选择其他版本的镜像。---## 三、配置FRPFRP的配置文件分为客户端和服务端两部分。我们将分别介绍如何配置这两个部分。### 3.1 配置服务端创建一个目录用于存放配置文件:```bash mkdir -p /root/frp/conf ```在该目录下创建`frps.ini`文件,并添加以下内容:```ini [common] bind_port = 7000 dashboard_port = 7500 dashboard_user = admin dashboard_pwd = your_password token = your_token ```- `bind_port`: 服务端监听的端口。 - `dashboard_port`: 仪表盘的端口号。 - `dashboard_user` 和 `dashboard_pwd`: 仪表盘的登录用户名和密码。 - `token`: 客户端和服务端之间的认证令牌。### 3.2 配置客户端同样在`/root/frp/conf`目录下创建`frpc.ini`文件,并添加以下内容:```ini [common] server_addr = your_server_ip server_port = 7000 token = your_token[ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 ```- `server_addr`: 服务端的公网IP地址。 - `server_port`: 服务端监听的端口。 - `token`: 客户端和服务端之间的认证令牌。 - `[ssh]`: 定义了一个名为`ssh`的服务。 - `type`: 协议类型,这里使用的是TCP。 - `local_ip` 和 `local_port`: 本地服务的IP和端口。 - `remote_port`: 公网上暴露的端口。---## 四、启动FRP服务### 4.1 启动服务端进入配置文件所在的目录并运行以下命令启动服务端:```bash docker run -d \--name frps \-v /root/frp/conf/frps.ini:/conf/frps.ini \-p 7000:7000 \-p 7500:7500 \xiaojun107/frp frps -c /conf/frps.ini ```- `-d`: 后台运行容器。 - `--name frps`: 容器名称。 - `-v`: 将主机的配置文件挂载到容器中。 - `-p`: 将宿主机的端口映射到容器的端口。 - `xiaojun107/frp frps -c /conf/frps.ini`: 运行FRP服务端,并指定配置文件。### 4.2 启动客户端同样进入配置文件所在的目录并运行以下命令启动客户端:```bash docker run -d \--name frpc \-v /root/frp/conf/frpc.ini:/conf/frpc.ini \xiaojun107/frp frpc -c /conf/frpc.ini ```---## 五、验证部署### 5.1 访问服务端仪表盘打开浏览器,输入`http://your_server_ip:7500`,使用之前设置的用户名和密码登录,即可查看服务状态。### 5.2 测试SSH连接在公网机器上,使用以下命令测试SSH连接:```bash ssh -p 6000 username@your_server_ip ```如果能够成功连接,则说明部署成功。---## 六、总结通过Docker部署FRP不仅简化了配置过程,还提高了环境的一致性和可移植性。本文详细介绍了从安装Docker到配置和启动FRP的全过程,希望对您有所帮助。如果您有任何问题或建议,请随时联系我!
简介FRP(Fast Reverse Proxy)是一款功能强大的反向代理工具,主要用于内网穿透。它可以帮助用户在没有公网IP的情况下,将本地的服务暴露到公网,实现远程访问。Docker作为一种轻量级的容器化技术,为FRP的部署提供了极大的便利性。本文将详细介绍如何使用Docker来部署FRP。---
一、安装Docker
1.1 检查系统是否已安装Docker首先,检查您的系统是否已经安装了Docker。可以通过以下命令查看:```bash docker --version ```如果未安装,可以按照以下步骤进行安装。
1.2 安装Docker
Ubuntu系统```bash sudo apt-get update sudo apt-get install -y docker.io ```
CentOS系统```bash sudo yum install -y docker ```安装完成后,启动并设置Docker开机自启:```bash sudo systemctl start docker sudo systemctl enable docker ```---
二、拉取FRP镜像在Docker Hub上,有许多现成的FRP镜像可供选择。这里我们使用一个常用的镜像:```bash docker pull xiaojun107/frp ```或者,您可以根据需要选择其他版本的镜像。---
三、配置FRPFRP的配置文件分为客户端和服务端两部分。我们将分别介绍如何配置这两个部分。
3.1 配置服务端创建一个目录用于存放配置文件:```bash mkdir -p /root/frp/conf ```在该目录下创建`frps.ini`文件,并添加以下内容:```ini [common] bind_port = 7000 dashboard_port = 7500 dashboard_user = admin dashboard_pwd = your_password token = your_token ```- `bind_port`: 服务端监听的端口。 - `dashboard_port`: 仪表盘的端口号。 - `dashboard_user` 和 `dashboard_pwd`: 仪表盘的登录用户名和密码。 - `token`: 客户端和服务端之间的认证令牌。
3.2 配置客户端同样在`/root/frp/conf`目录下创建`frpc.ini`文件,并添加以下内容:```ini [common] server_addr = your_server_ip server_port = 7000 token = your_token[ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 ```- `server_addr`: 服务端的公网IP地址。 - `server_port`: 服务端监听的端口。 - `token`: 客户端和服务端之间的认证令牌。 - `[ssh]`: 定义了一个名为`ssh`的服务。 - `type`: 协议类型,这里使用的是TCP。 - `local_ip` 和 `local_port`: 本地服务的IP和端口。 - `remote_port`: 公网上暴露的端口。---
四、启动FRP服务
4.1 启动服务端进入配置文件所在的目录并运行以下命令启动服务端:```bash docker run -d \--name frps \-v /root/frp/conf/frps.ini:/conf/frps.ini \-p 7000:7000 \-p 7500:7500 \xiaojun107/frp frps -c /conf/frps.ini ```- `-d`: 后台运行容器。 - `--name frps`: 容器名称。 - `-v`: 将主机的配置文件挂载到容器中。 - `-p`: 将宿主机的端口映射到容器的端口。 - `xiaojun107/frp frps -c /conf/frps.ini`: 运行FRP服务端,并指定配置文件。
4.2 启动客户端同样进入配置文件所在的目录并运行以下命令启动客户端:```bash docker run -d \--name frpc \-v /root/frp/conf/frpc.ini:/conf/frpc.ini \xiaojun107/frp frpc -c /conf/frpc.ini ```---
五、验证部署
5.1 访问服务端仪表盘打开浏览器,输入`http://your_server_ip:7500`,使用之前设置的用户名和密码登录,即可查看服务状态。
5.2 测试SSH连接在公网机器上,使用以下命令测试SSH连接:```bash ssh -p 6000 username@your_server_ip ```如果能够成功连接,则说明部署成功。---
六、总结通过Docker部署FRP不仅简化了配置过程,还提高了环境的一致性和可移植性。本文详细介绍了从安装Docker到配置和启动FRP的全过程,希望对您有所帮助。如果您有任何问题或建议,请随时联系我!