Frp Dockr Mysql内网映射

用 FRP 远程暴露 Mac mini 上的 Docker-MySQL(含 Ubuntu frps 安装和 macOS 客户端配置)

一、环境说明

  • 服务器(公网):Ubuntu 22.04 + frps
  • 内网设备:macOS (Mac mini) + frpc + Docker MySQL
  • 目标:公网通过<服务器公网IP>:13306访问内网 Docker 中的 MySQL 服务。
  • 官方文档:https://gofrp.org/zh-cn/docs

二、服务器端配置(Ubuntu)

1. 安装并配置 frps:

# 创建专用 frp 用户并下载安装 frps 到 /opt/frp
sudo useradd --system --no-create-home --shell /usr/sbin/nologin frp
curl -L https://github.com/fatedier/frp/releases/download/v0.60.1/frp_0.60.1_linux_amd64.tar.gz | sudo tar -xz -C /tmp
sudo mv /tmp/frp_0.60.1_linux_amd64 /opt/frp
sudo chown -R frp:frp /opt/frp

2. 配置 /opt/frp/frps.toml:

# 监听 7000 等待客户端连入(默认 TCP,QUIC/KCP 可选)
bindAddr  = "0.0.0.0"
bindPort  = 7000

# 可选:仪表盘 http://<IP>:7500
webServer.addr     = "0.0.0.0"
webServer.port     = 7500
webServer.user     = "admin"
webServer.password = "changeme"

# 令牌认证,务必与 frpc 保持一致
auth.method = "token"
auth.token  = "Token2025"

# 只允许映射端口 13306,避免误开放其他端口
allowPorts = [{ single = 13306 }]

log.to    = "./frps.log"
log.level = "info"

三、客户端配置(Mac mini)

使用 Homebrew 安装 frpc:

brew install frpc

2. 配置 frpc(/opt/homebrew/etc/frp/frpc.toml)

# 指向公网服务器
serverAddr = "<公网服务器IP>"
serverPort = 7000

auth.method = "token"
auth.token  = "Token2025"

# 只要 mysql 容器在宿主机暴露 3306,就用 127.0.0.1
[[proxies]]
name       = "mysql"
type       = "tcp"
localIP    = "127.0.0.1"
localPort  = 3306       # 容器已通过 -p 3306:3306 映射到宿主
remotePort = 13306      # 暴露到公网的端口,可自定义
transport.useEncryption  = true   # 流量 TLS,加密
transport.useCompression = true   # 传输压缩

3.启动 frpc 并设置开机自启

brew services start frpc
brew services list
tail -f /opt/homebrew/var/log/frpc.log

四、遇到的问题

1、第一次在公网root根目录启动失败,后来新建frp用户,把文件放到/opt/目录下启动成功。
2、toml文件配置有问题,刚开始查的教程是老版本的ini文件配置,后来看官网使用toml文件配置。
3、brew services启动失败,使用清华源配置环境变量后:

export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git"
export HOMEBREW_INSTALL_FROM_API=1

source ~/.zshrc

重新启动成功
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值