码迷,mamicode.com
首页 > 其他好文 > 详细

Docker部署NextCloud总结

时间:2020-07-13 13:55:04      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:sql   lin   tle   exp   volume   nextcloud   format   code   tab   

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总结

标签:sql   lin   tle   exp   volume   nextcloud   format   code   tab   

原文地址:https://www.cnblogs.com/gelandesprung/p/13292659.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!