本文详细介绍了docker利用nextcloud构建专属百度云的情况。原文根据示例代码非常详细,对大家的学习培训或者工作都有一定的参考价值。有必要的朋友陪我去了解一下。
突然有一个要求,我们必须建立一个文本文档存储和协作的专属服务项目。从多方面搜索后,在寻找onlyoffice服务项目时可以考虑我的文档写作需求,而存储层面可以考虑使用nextcloud搭建私有云磁盘服务项目。然后,我们可以通过使用nextcloudonlyoffice来考虑我的文档在线协同存储需求。其实简而言之就是一个可以写和分享ofiice等文档的私有云盘。
前期我是一个一个的启动传统的镜像系统,然后切换到docker-compose来部署,所以我展示了两个方案。还有一点就是我的数据库是postgresql,系统软件也适用于mysql和MariaDB,或者马上应用嵌入式sqLite。如果采用mysql,MariaDB的配备方式和我的postgresql一样,嵌入sqLite就容易多了。文章中数据库的所有实际 *** 作都会立即被忽略。
条款案文
安装启动服务项目
方法一是传统部署,方法二是docker-compose部署。第二个强烈推荐,简单。
不管是哪种方式,先安装docker
Linux下的Docker安装。
方法1
获取nextcloud镜像系统和数据库镜像系统。
数据库镜像系统可选,嵌入nextcloud的mysql或sqlLite可以立即使用。这里用的是postgresql。没错,就是因为我要实际 *** 作office,而且我安装了onlyoffice服务,可以忽略。
dockerpulldocker.io/nextcloud dockerpullpostgres dockerpullonlyoffice/documentserver创建启动容器
如果不使用嵌入式数据库,首先必须将数据库重置为存储仓库。我建立了一个云仓库来存储数据并启动它。
启动数据库(可选)
dockerrun--restart=always--namepostgresql-v/etc/localtime:/etc/localtime-v/data/postgresql:/var/lib/postgresql/data-ePOSTGRES_PASSWORD=123456-d-p35432:5432postgres-ePOSTGRES_PASSWORD=123456表示数据库登录密码的默认设置是123456。
启动office服务项目(不需要)
dockerrun--nameonlyoffice-i-t-d-p9000:80onlyoffice/documentserver启动nextcloud
dockerrun--restart=always--namenextcloud-p8080:80-v/nextcloud:/var/www/html--linkpostgresql:postgresql-dnextcloud-namenextcloud设置容器名称。
-restart=always表示容器始终启动,在重启设备(如待机)后将重启容器。
-p8080:80表示设备的8080端口映射到容器中的80端口,即浏览时必须有本地ip:8080(可以选择想要的端口号)。
-v/nextcloud:/var/www/html用于将容器相关资源投影到本地/nextcloud文件目录(可以选择自己匹配的文件目录),方便数据信息持久化和外部更改。网页都配有这些。
-链接postgresql:postgresql是可选的,一个连接postgresql数据库的容器,方便又有配备(功效后面再讲)
方法2
安装docker-compose
curl-Lhttps://github.com/docker/compose/releases/download/1.10.1/docker-compose-`uname-s`-`uname-m`>/usr/local/bin/docker-compose chmodx/usr/local/bin/docker-compose编写docker-compose文档
创建一个专属的文件夹名,以nextcloud为例,在里面创建docker-compose.yml文件。
version:'2' services: nextcloud: container_name:nextcloud_app image:nextcloud ports: -"8080:80" volumes: -./app:/var/www/html links: -postgresql restart:always onlyoffice: container_name:nextcloud_office image:onlyoffice/documentserver ports: -"9000:80" restart:always postgresql: container_name:nextcloud_db image:postgres:11.4 environment: -POSTGRES_PASSWORD:123456 volumes: -./postgresql:/var/lib/postgresql/data -/etc/localtime:/etc/localtime restart:always networks: default: external: name:nextcloud启动容器
docker-compose.yml文件目录中的实际 *** 作。
镜像系统会在第一次开机时完全自动获取,所以应该有网络。此外,采用数据连接的方式手工建立网桥。
建立一个网络:
开始:
docker-composeup-d直到上面的服务项目宣布启动,下一步就是装备了。
重置设备
电脑浏览器浏览ip:8080
4.1键入超级管理员登录密码。
4.2数据信息文件的目录建议保持不变,默认设置即可。
4.3数据库选择
嵌入式SQLite数据库,可以存储更少的文档,因此您可以立即选择默认设置并安装它们。
如果使用另一个数据库,以PostgreSQL为例:
不要提数据库的登录名和密码。如果数据库名称匹配,则必须预先建立数据库。
注:不过,我填的postgresql熟悉吗?没错,就是-link(方法2用的net方法也是这个目的)。我的数据库也使用了docker容器,而-link的应用可以通过另一个名字将postgresql数据库的容器发回,所以在这里,可以立即使用PostgreSQL来表示数据库(它是docker容器之间的一种通信方式。注意,PostgreSQL容器必须是下一个。
授权管理设备和应用
如果您需要能够浏览网站域名和一些新的ip端口,您必须更改/nextclou/config/config.php中的配置(请不要添加任何内容)
'trusted_domains'=> array( 0=>'www.xxx.com:10080', ),然后,可以装备应用和电子邮件,进行自主探索。
配备onlyoffice(没必要,我只是想更好的 *** 作wordonline等。)
转到网盘,用管理员账号登录,点击客户-->:仅用于安装OFFICE软件:
后续客户->:设置->:只有OFFICE可以填写自己服务项目的详细地址。
设计效果图:
文章里的内容就这些了。期待对大家的学习和培训有所帮助,也期待大家的应用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)