Docker部署NextCloud总结

Posted gelandesprung

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker部署NextCloud总结相关的知识,希望对你有一定的参考价值。

docker安装NextCloud

Docker部署NextCloud总结

我反复的安装了很多遍,虽然最后成功了,但是我完全搞不清楚最后一次成功和以前的失败有什么的不同

安装方法

我是通过配置脚本安装的,命令如下:

docker-compose -f nc.yml up -d

完成之后通过docker ps -a查看安装之后的情况。如果安装不成功需要完全清除数据的时候需要把container停止掉,比如我安装失败的时候就是执行

docker stop `id`

然后

docker-compose -f nc.yml rm -v

这行命令比较彻底的清除数据,包括它创建的 volume, 这东西一般的删除是不是清除它的,所以再次安装的时候仍然会从它里面拿数据,但是rm -v会比较彻底的清除。

配置

  • 进入配置页面的时候数据库那块记得把localhost改成db,因为yml文件中mariadb的名字就是db,这一点我没有搞太清楚,不过这样做是对了。
  • 国内有由墙的问题,NextCloud的插件不能从web端直接下载安装,所以需要从NextCloud的网站下载gz包,然后解压拷贝到NextCloud的数据目录下apps/里面,再通过web端启用

安装之后的思考

我是通过docker-compose执行配置脚本安装的,脚本是

version: ‘2‘

services:
  db:
    image: mariadb
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    restart: always
    volumes:
      - /opt/extra/db:/var/lib/mysql
    ports:
      - "3306:7988"
    environment:
      - MYSQL_ROOT_PASSWORD=密码
      - MYSQL_PASSWORD=密码
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    image: nextcloud
    ports:
      - 8686:80
    depends_on:
      - db
    volumes:
      - /opt/extra/nextcloud:/var/www/html
    restart: always

这是个是最后成功的配置,虽然是成功的配置,但是我用这个配置也失败过一次,第二失不知道怎么回事就成功了。我google和百度了很多次,大部分人的建议是把以前失败的数据全部完全的删除,并且清除container,我总结了一下最后一次的特殊性,需要提醒的是就算是这么做也不一定成功.

  • 由于我把数据库和nextcloud的数据目录映射到了本地,所以我重新安装的的时候先把映射的这两个目录清空,包括隐藏文件
  • 清除Container的时候使用上面提到的docker-compose -f nc.yml rm -v命令,务必保证环境是干净的。
  • 配置文件中db的端口以前只有3306,我把它映射出来了
  • 我把yml文件中的link换成了depends_on,因为有人说link没有用。
  • 环境那一块设置密码的部分等号后面我以前有一个空格,后来我把空格去掉了,不知道是不是不相同。
    以上就是我修改的部分,再次强调不一定有用,仅供参考。

以上是关于Docker部署NextCloud总结的主要内容,如果未能解决你的问题,请参考以下文章

使用docker-compose安装Nextcloud

使用docker-compose安装Nextcloud

Docker部署私有网盘NextCloud

Docker+Nextcloud快速部署个人网盘

利用docker和docker-compose部署Nextcloud服务(nginx-fdm-postgres)

nextcloud私有云盘搭建