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总结的主要内容,如果未能解决你的问题,请参考以下文章