docker 能使我们的部署更加简单可重复,大幅度降低部署难度,管理也更简单,所以我们提供 docker 镜像帮助您享受这种简单。
前置知识说明
首先您需要知道启动参数的写法,即:-f <启动密钥>:<隧道ID>
,如果要启动多个隧道可以 -f <启动密钥>:<隧道ID1>,隧道ID2,隧道ID3,...
,如果还需深入了解请参阅 frpc 用户手册-从命令行启动隧道。
为了提高可用性,建议您开启远程控制功能,即在启动参数后面加上 --remote_control <设置一个远程控制密码>
,最终的形态即为: -f <启动密钥>:<隧道ID> --remote_control <远程控制密码>
如果您感觉本篇教程对您来讲难以理解,可以试试隔壁 systemd 教程
关于图形化
我们同时提供以下平台的 GUI 操作说明:
设置方法
设置隧道
因为 docker 网络模型的原因,我们像从前一样把隧道的 本地IP 设置为 127.0.0.1
已经不再奏效,必须修改设置中的此项。
因为默认的 bridge
网桥模式兼容性和安全性更高,下面的教程默认采用此方案
首先运行下面的指令读出 docker 默认网桥的 网关IP
ip addr show docker0
结果预期如下:
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:c4:f5:83:8f brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
其中 172.17.0.1
这一部分就是我们要的 IP
然后在新建隧道时将其设置为 本地IP

或者在 隧道列表 中,编辑一条隧道,设置 本地IP 为该 IP

这样隧道就准备完了
设置Docker
首先我们需要获取镜像:
# 默认 DockerHub 源,国内可能较慢:
docker pull natfrp/frpc
######## 或者 ########
# 阿里云容器镜像 香港地区源,适合国内用户:
docker pull registry.cn-hongkong.aliyuncs.com/natfrp/frpc
如果成功的话,返回应该会是下面这样:
~# docker pull registry.cn-hongkong.aliyuncs.com/natfrp/frpc
Using default tag: latest
latest: Pulling from natfrp/frpc
4c0d98bf9879: Pull complete
292f768886fd: Pull complete
Digest: sha256:9d33d6110ee53480f28cc99e39476d3d845ce70cf8a4d775da78f15620bbab5a
Status: Downloaded newer image for registry.cn-hongkong.aliyuncs.com/natfrp/frpc:latest
registry.cn-hongkong.aliyuncs.com/natfrp/frpc:latest
其中最后一行复制一下,这个是实际被下载到本地的镜像tag,启动时会用得上
接下来我们执行:docker run -d --restart=always <你刚复制的镜像tag> -f <启动参数> --remote_control <远程控制密码>
,如果一切顺利,就能看到只有一行奇怪的hash的输出,就是实例ID
获取连接信息
连接信息在 docker实例 的日志中,执行 docker logs <实例ID>
就能看到,如对于这样的启动参数:

我们取实例ID的随便前几位就能查到日志:

注意事项
--restart=always
选项并不是必须,但开启此选项后可以自动重启容器实例
叨叨几句... NOTHING