发布日期:2026年6月3日
FRP Docker部署教程:容器化部署与docker-compose编排
Docker容器化部署是现代应用部署的主流方式,FRP同样支持Docker部署。使用Docker部署FRP具有诸多优势:环境隔离避免与系统其他服务冲突,版本切换方便只需更换镜像标签,配置文件与数据持久化存储,一键启动停止重启,易于迁移和扩展。本文将详细介绍FRP的Docker部署方案。
一、使用Docker运行FRP服务端
首先创建frps配置文件目录和配置文件:mkdir -p /opt/frp && vim /opt/frp/frps.ini。编写配置文件后,使用Docker命令启动frps:docker run -d --name frps --restart=always --network=host -v /opt/frp/frps.ini:/etc/frp/frps.ini:ro snowdreamtech/frps。这里使用--network=host让容器使用宿主机网络,简化端口映射配置;-v参数挂载配置文件;--restart=always设置容器自动重启。也可以使用官方镜像fatedier/frps或其他社区维护的镜像。
二、使用Docker运行FRP客户端
客户端部署类似:docker run -d --name frpc --restart=always --network=host -v /opt/frp/frpc.ini:/etc/frp/frpc.ini:ro snowdreamtech/frpc。如果需要穿透Docker内部的服务,可以使用--network=container:目标容器名让frpc容器与目标容器共享网络命名空间,这样frpc可以直接访问目标容器的localhost端口。也可以使用Docker Compose将frpc与目标服务编排在一起,通过Docker内部网络互相访问。
三、docker-compose编排部署
创建docker-compose.yml文件,定义frps服务:version: '3' services: frps: image: snowdreamtech/frps container_name: frps restart: always network_mode: host volumes: - ./frps.ini:/etc/frp/frps.ini:ro。使用docker-compose up -d启动服务,docker-compose logs -f查看日志,docker-compose down停止服务。docker-compose的优势在于可以一次性管理多个相关服务,例如将frps、Nginx、监控服务等编排在一起,实现完整的穿透解决方案。