使用 Docker 打造自己的 NAS 系统
本文为博主在主机上基于 docker 的折腾记录,理论上适用于任何开启 ssh 服务的 Linux 设备
1. 内网穿透
1.1 Zerotier
Zerotier 是一种通过您自己的专用网络连接世界各地设备的方法
需要首先到 官网 注册账号
docker run --restart always --name zerotier --network host --cap-add NET_ADMIN --device /dev/net/tun \
-v /var/lib/zerotier-one:/var/lib/zerotier-one -m 64MB -d zerotier/zerotier:1.12.2 <网络ID>
1.2 frp
官方文档 https://gofrp.org/zh-cn/docs/
frp 是 fast reverse proxy 的缩写,是一款专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,可以将内网服务通过具有公网 IP 的节点的中转暴露到公网。
- 首先要编辑配置文件
/etc/frp/frpc.toml
serverAddr = "<服务端IP>"
serverPort = 7000
auth.method = "token"
auth.token = "123456"
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 8022
- 运行客户端
docker run --restart always --name frpc --network host -v /etc/frp:/etc/frp \
-v /etc/localtime:/etc/localtime:ro -m 64MB -d snowdreamtech/frpc:0.57.0
1.3 Lucky 多功能反向代理
官方文档 https://lucky666.cn/docs/intro
docker run --restart always --name lucky --network host -v luckyconf:/goodluck -m 128MB -d gdy666/lucky
2. 文件托管
2.1 FileBrowser 轻量级 HTTP 文件服务器
touch filebrowser.db
docker run --restart always --name filebrowser --network host -m 64MB \
-v /media:/srv -v $PWD/filebrowser.db:/database.db -d filebrowser/filebrowser:v2