Docker系列七安装私人云盘

前言

第三次更新:

后来拥有了一个群晖做为个人云盘,效果也不错,后来就没有继续捣鼓了。

Docker系列七安装私人云盘插图

第二次更新:

后来发现nextcloud会有要通过不被信任的域名访问的问题,于是重新修改了一遍。

我要在自己的云服务器(操作系统是centos7.8)上制作自己的私人云盘!

经过考虑之后,使用PHP7.3、MySQL5.5.65、Nginx、Memcached搭建Nextcloud

使用docker不香么?真香!!!!!

安装镜像

私人云盘的数据保存是存储到关系型数据库里面的,将内容保存到里面之后再提供一个可视化的页面来访问。

创建数据库容器

其实使用Docker来快速建立一个数据库是最有效的方式,操作详情则请参考我的同系列另一篇博客,Docker系列之安装数据库。

建立名为keenuser用户,密码为123456,拥有数据库nextcloud的全部权限。

创建Nextcloud容器

拉取镜像

docker pull nextcloud

拉取到的 Nextcloud 镜像的 tag 是 latest,显示以下信息即表示拉取成功。不得不吐槽一句,我明明修改成中科大的源了,可还是下载了好久!

Docker系列七安装私人云盘插图1

创建外部挂载目录

递归创建存储目录

mkdir -p /home/keen/docker/nextcloud/data

启动 Nextcloud 容器

docker run -d \
--restart=always \
--name nextcloud \
--link mysql5.7.30:db \
-p 5213:80 \
-v /home/keen/docker/nextcloud/data/:/var/www/html/data/ \
-v /home/keen/docker/nextcloud/config/:/var/www/html/config/ \
nextcloud

  • docker run :启动一个容器

  • -d:后台运行容器

  • --restart=always:Docker 重启的时候容器也会重启

  • --name nextcloud:命名容器的 name 为 nextcloud,可以替代容器 id 使用

  • –link mysql5.7.30:db:链接数据库容器为服务器的名称记为db

  • -p 5213:80:将容器的 80 端口映射到服务器的 5213 端口

  • -v data: 映射数据文件

  • -v config: 映射配置文件

  • nextcloud:要启动的镜像名称

原本是要映射到80的,但是在我这里已经把端口80占用了啊,于是乎,我就把他对应到了5213(我爱你撒/害羞)。

Docker系列七安装私人云盘插图2

需要注意的是,如果使用的阿里云或腾讯云的服务器,要检查服务器的安全组是否开放了 5213 端口,没有开放的需要开放一下。

如果使用的是本地虚拟机,需要执行以下命令开放 5213端口对外访问,然后更新防火墙规则。

firewall-cmd --zone=public --add-port=5213/tcp --permanent

firewall-cmd --reload

配置容器

直接用域名:端口的方式访问对应的端口号即可。http://www.clzly.xyz:5213/

上面填账号密码,下面选择第二个mysql

  • 数据目录就是/var/www/html/data

  • 对应的就是数据库用户keenuser

  • 对应的密码就是123456

  • 对应的数据库名就是nextcloud

  • 最下面写db

下面的勾无所谓,反正地址被墙了。

Docker系列七安装私人云盘插图3

删除容器后的第二次初始化

因为上一次忘记映射配置目录,导致要删除原有容器,映射新容器.在建立管理员账号的时候提示错误。

Docker系列七安装私人云盘插图4

有两个选择,用新的账号去管理这个新的数据库,比如说用root啊

其次是修改原有的账号,创建了管理员账号后再改回来。

之后修改/home/keen/docker/nextcloud/config/config.php文件如下:

Docker系列七安装私人云盘插图5

于是大家就可以从我的博客后附链接中直接下载了。

感谢

感谢现在的好奇,为了能成为更好的自己。

原文链接:https://www.bilibili.com/read/cv17726877/

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享