利用docker部署nextcloud网盘

2023-05-25 11:21:17 26点赞 211收藏 38评论

这里是新一期的拥有NAS的生活,今天给大家带来的是docker部署nexrcloud网盘。我这里简单的介绍一下什么nextcloud:

nextcloud是一个外国开发者团队研发的一款在线协同办公软件,兼具网盘功能,类似于群晖的Synology Drive和OneDrive,好处就在于能够对接Google drive网盘,实现大量文件的挂载上传下载操作。

部署准备

一、安装mysql数据库

群晖docker注册表搜索mysql,选择下载镜像,我这里选择mysql5.7用习惯了

mysqlmysql

mysql5.7mysql5.7

双击刚刚下载的mysql镜像启动,设置参数密码MYSQL_ROOT_PASSWORD,值为Aa123456

设置参数:MYSQL_ROOT_PASSWORD 值为Aa123456 ##值代表密码可自定义,具体如图

设置参数设置参数

设置mysql挂载路径

挂载路径挂载路径

本地路径:/docker/mysql 装载路径:/var/lib/mysql

设置端口

第一项设置端口为3306,下面那项可以不管,删除也行,然后直接完成并启动容器。

3306端口3306端口

创建数据表

ssh连接群晖,使用 sudo -i 切换root超级管理员模式,输入密码表示进入

rootroot

输入docker exec -it mysql bash进入docker,再输入mysql -u root -p 进入mysql,请输入刚刚设置的Aa123456

容器容器

创建名字为nextcloud的数据表,因为会吞代码发不出来,代码我这里直接给截图,输入create开头的那段代码并回车,最后面的标点符号也算。

创建数据表创建数据表

然后再输入以下代码,给root账户赋予所有权限,之后输入quit可退出当前数据库

GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'Aa123456' WITH GRANT OPTION;

权限权限

退出当前mysql容器

输入exit退出当前mysql容器

退出退出

获取mysql的ip地址

输入docker network inspect bridge找到mysql的地址

获取ip获取ip

二、安装nextcloud

先在filestation的docker目录下创建nextcloud文件夹

创建创建

挂载路径

将 /docker/nextcloud 挂载到 /var/www/html

挂载路径挂载路径

设置端口

设置本地端口为3355

33553355

配置nextcloud

因为容器内部在初始化操作,要等一会,之后浏览器访问 群晖ip:3355

设定nextcloud账户密码设定nextcloud账户密码

访问之后可以看到如上界面,各位根据自己的需要创建属于自己的nextcloud密码,并进行数据库配置

数据库配置数据库配置

完整配置完整配置

填写好以上信息就可以直接点击下面的安装,耐心等他安装完成。

NEXTCLOUD概览

安装完成后跳过他推荐安装的应用

nextcloud后台界面nextcloud后台界面

设置桌面小部件设置桌面小部件

安装应用

开发者提供了很多好玩的应用,可以按需开启。

利用docker部署nextcloud网盘

文件管理

利用docker部署nextcloud网盘

照片预览

利用docker部署nextcloud网盘

动态记录

利用docker部署nextcloud网盘

总结

nextcloud是一款非常不错的个人网盘or办公工具,支持文件照片上传,随时随地启用查看。我只是介绍,用不用取决于各位,也别喷,如果部署在公网服务器上就更好了,后期打算自己在云服务器上部署一个玩玩。

百科Synology 群晖 DS918+ 四盘位NAS(J3455、4GB)DS918+属于群晖的PLUS系列产品,即高端型号,而且基于x86架构CPU,原生支持Docker等容器虚拟化技术。采用英特尔赛扬J3455 CPU,四核四线程设计,支持2路4K@30fps转码。预装4GB DDR3L内存,另预留一个内存插槽,可以扩展到8GB。4个盘位,可以通过群晖的扩展设备扩展至9盘位,支持Synology Hybrid RAID、Basic、JBOD、RAID 0/1/5/6/10多种阵列类型,并且支持EXT4和Btrfs两种文件系统。官方标称连续读取速度226.07MB/s,连续读取222.98MB/s(非加密SMB协议传输)。带有两个RJ-45千兆网口,一个eSATA以及两个USB 3.0。 76 点评138 原创100 好价76查看详情
展开 收起
38评论

  • 精彩
  • 最新
  • 容器内部 IP 是会根据容器的启动顺序而变动的,你这肯定不能用 172.17 的 IP,而且你都把 3306 映射出来了,直接用群晖的 IP:3306不就行了吗,或者你用 docker-compose 把这2个容器加到一个堆栈里面,官方也提供 docker-compose 的 template,直接用就行

    校验提示文案

    提交
    也是,我忘了这点,多谢指正

    校验提示文案

    提交
    这一点非常非常关键
    其实重启后容器的地址会不停地随机变化,导致 nextcloud 与 mariadb 数据库失联。需要指定 ip 地址创建容器。
    举例如下


    1、查看docker网络

    docker network ls



    2、首先建立网络,并指定网段

    docker network create --driver bridge --subnet 172.19.0.0/24 --gateway 172.19.0.1 docker_net

    3、验证网络配置

    docker network inspect docker_net


    建立 mariadb 容器,指定 ip 地址
    sudo -i
    mkdir /volume2/docker/
    mkdir /volume2/docker/mariadb
    docker run --name mariadb --restart=always --network docker_net --ip 172.19.0.201 -p 3306:3306 -v /volume2/docker/mariadb:/var/lib/mysql -e MARIADB_ROOT_PASSWORD=12345678 -d mariadb:latest



    docker run --name myadmin --restart=always -d --link mariadb:db --network docker_net --ip 172.19.0.202 -p 8050:80 phpmyadmin

    cp -f /volume2/docker/phpmyadmin---config.inc.php.org.mj /volume2/docker/phpmyadmin/config.inc.php



    docker inspect mariadb | grep IPAddress

    172.19.0.201

    172.19.0.201 :3306填入 nextcloud

    校验提示文案

    提交
    收起所有回复
  • 我始终不明白,在群晖这样的系统里面为什么还要再搞个nextcloud,是系统自带的不够用嘛?
    其实真要搞nextcloud当做主力云,为啥不直接布置在Linux上呢? [皱眉]

    校验提示文案

    提交
    每个人的需求不同罢了,当然是直接在linux上部署好多了。

    校验提示文案

    提交
    那么nextcloud可以提供哪些方面差异化的特色呢?
    直白讲,我既然有了群晖,为啥要装nextcloud?

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 如果只是云盘的话。群晖控件里面有个可道还是什么云。就是纯粹云盘更加简单,无脑安装。你这个是可以把谷歌云盘当共享盘用?

    校验提示文案

    提交
    可以对接googledrive用

    校验提示文案

    提交
    nextcloud支持OneDrive那样的文件随选功能,一开始只是展示云端的文件的虚拟文件(快捷方式),使用过一次后才缓存到本地,缓存过后的断网也能访问(进PE无网无SMB也能访问),缓存过的就是本地硬盘的速度,可以主动缓存,主动释放本地空间

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • docker又不是只有nas有,

    校验提示文案

    提交
    那又怎样,我这里只是以群晖docker为例

    校验提示文案

    提交
    标题看着意思像是有nas才有这样的生活

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 说实话。nextcloud不好用。。上传要改。内存要改。下载限制要改

    校验提示文案

    提交
    自建基本的设置还是要的,无所谓 [高兴]

    校验提示文案

    提交
    有啥好推荐吗?

    校验提示文案

    提交
    收起所有回复
  • Docker 的注册表不是已经用不了了吗?

    校验提示文案

    提交
    注册表不能用也可以ssh里用命令行拉库

    校验提示文案

    提交
    什么时候开始的,我好久没有装过新容器了,现在总是查询注册表失败还怪不适应的。

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 没翻到大佬写 怎么能挂百度云下载呢

    校验提示文案

    提交
    我不用这个挂下载,有别的更好用

    校验提示文案

    提交
    收起所有回复
  • 可惜了,视频没有缩略图,也没有朋友圈一样的展示页,多好的一个家庭内部分享照片视频的平台啊

    校验提示文案

    提交
    用自带的photo也挺好啊

    校验提示文案

    提交
    收起所有回复
  • 我用的是mariadb。感谢楼主,一直尝试docker安装nextcloud,按照楼主的方法终于正确添加了数据库链接。可否再请教个问题,这么才能为nextcloud启用php?

    校验提示文案

    提交
    容器内部自带php环境,无需单独配置

    校验提示文案

    提交
    收起所有回复
  • 以前装过,感觉性能不行,用了mysql也一样,同时多传几个就蹦,压力一大就蹦,在线看视频蹦,最后烦了还是改用ftp,稳定方便.

    校验提示文案

    提交
  • 能够直接打开并编辑电子文档就完美。

    校验提示文案

    提交
    那个在线编辑挺麻烦的 [喜极而泣]

    校验提示文案

    提交
    用onlyoffice是可以的,就是设置烦死人

    校验提示文案

    提交
    收起所有回复
  • 虽然他很好但是还没找到能替代群晖的照片同步平台 [高兴]

    校验提示文案

    提交
    nextcloud不就可以同步吗。不喜欢nextcloud客户端同步,那就用第三方的les pas,完全平替群晖照片同步。

    校验提示文案

    提交
    收起所有回复
  • 如果是mysql5.7的版本,创建好容器后进到mysql的后台,定位/etc/mysql/mysql.conf.d/mysqld.cnf,在最下面追加sort_buffer_size = 4096K

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
211
扫一下,分享更方便,购买更轻松