开源网盘有非常多可选的方案,我个人觉得
cloudreve
网盘最符合我的需求因为它足够简单。
创建桥接网络
我的想法是创建一个桥接网络,然后用宿主机的nginx反向代理暴露给公网访问,这样做的好处是宿主机不用开启端口。
docker network create --subnet=192.168.0.0/16 docker-network
部署网盘
$PWD
表示你当前命令行所处的路径,我们将命令行切换到docker
安装目录的volumes
目录下。
cd /var/lib/docker/volumes
# 网盘 docker run -itd \ --name cloudreve \ --hostname cloudreve \ --restart=unless-stopped \ -e PUID=0 \ -e PGID=0 \ -e TZ="Asia/Shanghai" \ -v $PWD/cloudreve/uploads:/cloudreve/uploads \ -v $PWD/cloudreve/config:/cloudreve/config \ -v $PWD/cloudreve/db:/cloudreve/db \ -v $PWD/cloudreve/avatar:/cloudreve/avatar \ -v $PWD/cloudreve/downloads:/downloads \ --net docker-network \ --ip 172.19.0.6 \ xavierniu/cloudreve
配置数据库
cloudreve
默认使用sqlite
,我们改为使用mysql
.
[Database] Type = mysql Port = 3306 User = <数据库用户名> Password = <数据库密码> Host = <这样填docker网络网关地址> Name = <数据库名> TablePrefix = cd_ Charset = utf8