点击在我的博客 xuxusheng.com 中查看,有更好的排版哦~

owncloud 是个好东西,不管是作为私有云来存储文件,或者是分享文件给其他人、多人协作、本地文件夹映射都是非常好用的功能,在各大网盘都是龟速上传和下载的情况下,自建一个私有云就成了想当不错的选择。

得益于 docker 的存在,部署 owncloud 变得非常非常简单,不再需要折腾各种环境的坑,只需要注意一下安装的流程和简单的配置文件即可。

一、环境准备

不管是 linuxmacos 还是 windows,只需要装好了 dockerdocker-compose,都可以顺利的完成部署,推荐使用 linux 作为服务器系统来进行部署。

我自己是用一台旧笔记本装上了 ubuntu 放在家里作为服务器使用,相对于同样存储空间和带宽的云服务器来说,便宜了不止一点点,当然可靠性上就下降了太多。

如果不会安装 dockerdocker-compose,参考另一篇博文:在linux、mac下快速简单的安装docker

二、数据库准备

owncloud 支持 SQLiteMySQL/MariaDBPostgreSQL,如果已有数据库,可以跳过这一步。

在机器上新建一个 mysql 目录,然后在目录下新建一个 docker-compose.yml 文件,内容如下:

version: "3"
services:mysql:image: mysql:5.7 # 使用 mysql5.7 版本的镜像container_name: mysql # 容器名称restart: always # 自动重启策略ports:- 3306:3306 # 映射到宿主机的端口volumes:- ./conf.d:/etc/mysql/conf.d # 配置文件挂载的宿主机目录- ./data:/var/lib/mysql # 数据文件挂载的宿主机目录environment:- MYSQL_ROOT_PASSWORD=yourpasswd # 初始的 root 用户的密码

文件新建完成后,在当前目录下执行 docker-compose up --build -d 命令即可。

这时会发现当前目录下自动新建了 dataconf.d 两个目录,里面分别存储着数据库数据和配置,这样当容器重启时,之前的数据也不会丢失了。

使用 docker ps -a 命令即可看到刚才创建的 mysql 容器。

这里建议使用 navicat 连接上 mysql,然后新建一个用户和数据库给 owncloud 使用。

其实 mysql 容器的配置可以直接和 owncloud 写到同一个 docker-compose.yml 文件中,也无需映射端口到本机,但是我一般喜欢跑一个 mysql,然后给各个服务用,而不是一个服务单独跑一个 mysql。

二、owncloud 准备

在机器上新建一个 owncloud 目录,然后在目录下新建一个 docker-compose.yml文件,内容如下:

version: "3.1"
services:app:image: owncloudcontainer_name: owncloudrestart: alwaysports:- 9000:80volumes:- ./data:/var/www/htmlextra_hosts:- "dockerhost:${dockerhost}" # 宿主机的内网IP,便于容器内访问宿主机网络。

文件内容和上一部分的文件内容基本差不多,只是最后多了一项 extra_hosts

这是因为我们的 mysql 服务是单独在宿主机上跑的另一个容器,所以在 owncloud 容器中需要能够访问到宿主机的 63306 端口才行。

可以直接在配置数据库的时候填入宿主机的内网或公网IP,这里相当于将 dockerhost 直接解析到了那个IP,之后在配置的时候,直接输入 dockerhost 即可。

${dockerhost} 是读取的机器上的环境变量,需要手动设置一下这个环境变量,也可以直接使用 IP 来替换这一段(如 - "dockerhost:192.168.x.x"

三、启动 owncloud

owncloud 下执行 docker-compose up --build -d 命令,完成后执行 docker ps -a 就可以看到相应的容器啦。

同时目录下也会自动生成一个 data 目录,此目录下就存放了所有的 owncloud 代码、配置和数据,不管后期怎么重启容器,数据也不会丢失。

四、初始化配置

这个时候访问机器的 9000 端口,就看看到 owncloud 的配置页面了,填入相应的配置项。

因为我们之前设置了 dockerhost 指向宿主机的IP,所以这个时候我们直接在数据库部分填写 dockerhost:3306 即可,注意数据库的端口不要填错。

数据目录建议使用默认值,不要修改。

填完完成后,点击 安装完成 按钮进入下一步,等待一段时间后,页面将自动跳转向登录页面。

输入刚才配置的管理员账号密码,就大功告成啦.

第一次进入会有一个弹窗,提示你下载客户端,个人建议配合客户端使用才是最佳选择, 让客户端自动保持所有设备全端同步。

五、进阶配置

简单的使用,到上面就完了,但是在实际使用过程中,需要有一些注意的地方。

刚才我们是使用 IP:PORT 的形式进入的初始化配置页面,这个 IP:PORT 会被记录在 owncloud 的配置文件中,作为服务的地址,但是如果我们期望后期通过域名来访问的话,就会出现问题。

切换到 root 用户,进入 owncloud 目录下的 data 文件夹中,使用 ls 命令可以看到,owncloud 的所有相关文件都存放在此。

data 目录中的 config 目录即为存放配置文件的路径,vim ./config/config.php 查看配置文件信息。

<?php
$CONFIG = array ('instanceid' => 'occknie0ywch','passwordsalt' => 'l4NblWwHaK8QfbCLU9i4WhWfd1QKXr','secret' => 'AM8p4ZTxvXU05U9xCWkr3qfrY9EoSjVBspm08jrlrU3b7AAH','trusted_domains' =>array (0 => '192.168.49.84:9000',),'datadirectory' => '/var/www/html/data','overwrite.cli.url' => 'http://192.168.49.84:9000','dbtype' => 'mysql','version' => '10.0.10.4','dbname' => 'owncloud','dbhost' => 'dockerhost:3306','dbtableprefix' => 'oc_','mysql.utf8mb4' => true,'dbuser' => 'owncloud','dbpassword' => 'owncloud','logtimezone' => 'UTC','installed' => true,
);

各个配置项含义,可以参考文档:Config.php Parameters

如果需要使用域名,或改变端口等,则需要对其中的 trusted_domainsoverwrite.cli.url 字段都进行相应的修改。

同时在 overwrite.cli.url 上面加上一行 overwritehost => 域名

然后在 owncloud 目录下执行 docker-compose restart 命令重启容器即可。

使用docker快速部署owncloud私有云存储服务相关推荐

  1. 快速集成华为AGC云存储服务-Web

    华为AppGallery Connect提供了一个云存储(CloudStorage)的服务,号称提供了一个便捷的云端存储服务,应用开发者使用的时候,可以不用关注服务器的部署,直接使用就行. 这个服务近 ...

  2. Unity | 快速集成华为AGC云存储服务

    华为AppGallery Connect提供了一个云存储(CloudStorage)的服务,号称提供了一个便捷的云端存储服务,应用开发者使用的时候,可以不用关注服务器的部署,直接使用就行. 目前这个功 ...

  3. 跨云应用部署:在云存储服务之间复制文件

    在上一篇中,我们介绍了如何使用云存储服务代替传统的共享存储设备.如果我们大量的使用了云存储服务,就不可避免的要在多个云存储服务之间复制.共享.迁移或者同步数据.这里说的多个云存储服务包括跨不同供应商的 ...

  4. Ubuntu安装部署owncloud私有云问题解决

    注意事项 1.安装前需要配置好LAMP环境. 2.要新建一个数据库用来存放owncloud的管理员数据,最好为新数据库新建一个用户来管理这个数据库,新建的用户名.密码,还有数据库的端口要记住,首次登陆 ...

  5. 应对各类网盘关闭最有效方法以及使用Aria2+KodExplorer轻松搭建私有云存储

    网盘在前几年打起了容量战,先后不断增加容量,让我们普通人感到占了大便宜,存片存游戏存音乐,后来开始加强管理,也就出现一批网盘关闭潮.实际上国内的不少网盘所给的容量华而不实,因为很少有人可以存满几个T的 ...

  6. OwnCloud搭建私有云存储网盘

    其实国内有很多的大网盘,也有很多用户在用.比如360网盘,百度网盘,等等.但是谁都无法确定国内的服务器会不会奔溃等情况,这时候我们可以使用OwnCloud建立自己的私有的存储网盘 OwnCloud概述 ...

  7. 搭建私有云:owncloud(用Docker构建owncloud私有云盘)

    网上各种云盘都要收费,又或有速度限制,感觉用起来不方便,想抽时间想搭建一个私有云盘.下面讲解下搭建私有云:owncloud. 搭建私有云:owncloud(用Docker构建owncloud私有云盘) ...

  8. mac下使用owncloud搭建私有云存储 mac owncloud

    owncloud搭建私有云存储 文章来自:http://blog.csdn.net/intbird ownCloud官网 https://owncloud.org/install/ ownCloud文 ...

  9. Dropbox再曝泄密危机 亚信安全建议企业用户部署安全的私有云存储

    9月2日消息,公有云脆弱的安全性再次成为风口浪尖上的热门话题.近日,美国云存储服务公司Dropbox确认,2012年时发现并披露的一次数据泄露事故影响要比之前预计的更严重,此次数据泄露事故影响范围超过 ...

最新文章

  1. NET::ERR_CACHE_MISS
  2. 美国互联网瘫痪了,你的密码怎么办?
  3. hive to mysql_Hive And MySQL安装及设置
  4. 大话设计模式(九 反射——程序员的快乐!)
  5. Lua的require机制
  6. php中files和FILRS,php获取文件内容最后一行示例
  7. Django学习之Cookie和Session
  8. HR搬程序员椅子拍老板马屁,开怼的程序员被开?
  9. Python 傅里叶分析
  10. Java使用IntelliJ IDEA创建控制台程序并通过JDBC连接到数据库
  11. python暴力破解rar压缩文件
  12. 空间管理 - 碎片化问题及解决思路
  13. 2013年01月06日
  14. 中国矿业大学(北京)第二届ACM程序设计公开赛(决赛)
  15. 【微前端】微前端——功能团队中缺失的一块拼图
  16. python求个位十位百位_Js 分别取一个数的百位,十位,个位
  17. 360安全卫士防黑加固关闭了Telnet远程连接服务,如何开启?
  18. {电脑救助站}常用知识1 来自常用知识( 网络安全中起重大作用的 Windows 命令)
  19. android 取imei p10,华为p10如何解锁BootLoader 华为p10解锁BootLoader图文教程
  20. Nodejs 中 request 出现 ‘socket hang up‘ 的解决办法

热门文章

  1. 3d效果之旋转的球形
  2. 无锡设计培训——室内设计会用到软件有哪些?
  3. 微信公众号线上和线下增粉秘籍:
  4. 阜阳太和中学2021年高考成绩查询,2021年高考落下帷幕 十二年寒窗 一笑而“过”...
  5. Servlet运行的详细步骤
  6. 跨行成为一名程序员必备这5步,从程序员到工程师!
  7. Gecco学习笔记(一):综述
  8. pyspark.sql.functions详解
  9. 错误 C4996 ‘fopen‘: This function or variable may be unsafe. Consider using fopen_s instead. To disabl
  10. 考研数据结构代码整理