使用docker快速部署owncloud私有云存储服务
点击在我的博客 xuxusheng.com 中查看,有更好的排版哦~
owncloud
是个好东西,不管是作为私有云来存储文件,或者是分享文件给其他人、多人协作、本地文件夹映射都是非常好用的功能,在各大网盘都是龟速上传和下载的情况下,自建一个私有云就成了想当不错的选择。
得益于 docker
的存在,部署 owncloud
变得非常非常简单,不再需要折腾各种环境的坑,只需要注意一下安装的流程和简单的配置文件即可。
一、环境准备
不管是 linux
、macos
还是 windows
,只需要装好了 docker
和 docker-compose
,都可以顺利的完成部署,推荐使用 linux
作为服务器系统来进行部署。
我自己是用一台旧笔记本装上了 ubuntu
放在家里作为服务器使用,相对于同样存储空间和带宽的云服务器来说,便宜了不止一点点,当然可靠性上就下降了太多。
如果不会安装 docker
和 docker-compose
,参考另一篇博文:在linux、mac下快速简单的安装docker
二、数据库准备
owncloud
支持 SQLite
、MySQL/MariaDB
、PostgreSQL
,如果已有数据库,可以跳过这一步。
在机器上新建一个 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
命令即可。
这时会发现当前目录下自动新建了 data
和 conf.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_domains
和 overwrite.cli.url
字段都进行相应的修改。
同时在 overwrite.cli.url
上面加上一行 overwritehost => 域名
。
然后在 owncloud
目录下执行 docker-compose restart
命令重启容器即可。
使用docker快速部署owncloud私有云存储服务相关推荐
- 快速集成华为AGC云存储服务-Web
华为AppGallery Connect提供了一个云存储(CloudStorage)的服务,号称提供了一个便捷的云端存储服务,应用开发者使用的时候,可以不用关注服务器的部署,直接使用就行. 这个服务近 ...
- Unity | 快速集成华为AGC云存储服务
华为AppGallery Connect提供了一个云存储(CloudStorage)的服务,号称提供了一个便捷的云端存储服务,应用开发者使用的时候,可以不用关注服务器的部署,直接使用就行. 目前这个功 ...
- 跨云应用部署:在云存储服务之间复制文件
在上一篇中,我们介绍了如何使用云存储服务代替传统的共享存储设备.如果我们大量的使用了云存储服务,就不可避免的要在多个云存储服务之间复制.共享.迁移或者同步数据.这里说的多个云存储服务包括跨不同供应商的 ...
- Ubuntu安装部署owncloud私有云问题解决
注意事项 1.安装前需要配置好LAMP环境. 2.要新建一个数据库用来存放owncloud的管理员数据,最好为新数据库新建一个用户来管理这个数据库,新建的用户名.密码,还有数据库的端口要记住,首次登陆 ...
- 应对各类网盘关闭最有效方法以及使用Aria2+KodExplorer轻松搭建私有云存储
网盘在前几年打起了容量战,先后不断增加容量,让我们普通人感到占了大便宜,存片存游戏存音乐,后来开始加强管理,也就出现一批网盘关闭潮.实际上国内的不少网盘所给的容量华而不实,因为很少有人可以存满几个T的 ...
- OwnCloud搭建私有云存储网盘
其实国内有很多的大网盘,也有很多用户在用.比如360网盘,百度网盘,等等.但是谁都无法确定国内的服务器会不会奔溃等情况,这时候我们可以使用OwnCloud建立自己的私有的存储网盘 OwnCloud概述 ...
- 搭建私有云:owncloud(用Docker构建owncloud私有云盘)
网上各种云盘都要收费,又或有速度限制,感觉用起来不方便,想抽时间想搭建一个私有云盘.下面讲解下搭建私有云:owncloud. 搭建私有云:owncloud(用Docker构建owncloud私有云盘) ...
- mac下使用owncloud搭建私有云存储 mac owncloud
owncloud搭建私有云存储 文章来自:http://blog.csdn.net/intbird ownCloud官网 https://owncloud.org/install/ ownCloud文 ...
- Dropbox再曝泄密危机 亚信安全建议企业用户部署安全的私有云存储
9月2日消息,公有云脆弱的安全性再次成为风口浪尖上的热门话题.近日,美国云存储服务公司Dropbox确认,2012年时发现并披露的一次数据泄露事故影响要比之前预计的更严重,此次数据泄露事故影响范围超过 ...
最新文章
- NET::ERR_CACHE_MISS
- 美国互联网瘫痪了,你的密码怎么办?
- hive to mysql_Hive And MySQL安装及设置
- 大话设计模式(九 反射——程序员的快乐!)
- Lua的require机制
- php中files和FILRS,php获取文件内容最后一行示例
- Django学习之Cookie和Session
- HR搬程序员椅子拍老板马屁,开怼的程序员被开?
- Python 傅里叶分析
- Java使用IntelliJ IDEA创建控制台程序并通过JDBC连接到数据库
- python暴力破解rar压缩文件
- 空间管理 - 碎片化问题及解决思路
- 2013年01月06日
- 中国矿业大学(北京)第二届ACM程序设计公开赛(决赛)
- 【微前端】微前端——功能团队中缺失的一块拼图
- python求个位十位百位_Js 分别取一个数的百位,十位,个位
- 360安全卫士防黑加固关闭了Telnet远程连接服务,如何开启?
- {电脑救助站}常用知识1 来自常用知识( 网络安全中起重大作用的 Windows 命令)
- android 取imei p10,华为p10如何解锁BootLoader 华为p10解锁BootLoader图文教程
- Nodejs 中 request 出现 ‘socket hang up‘ 的解决办法
热门文章
- 3d效果之旋转的球形
- 无锡设计培训——室内设计会用到软件有哪些?
- 微信公众号线上和线下增粉秘籍:
- 阜阳太和中学2021年高考成绩查询,2021年高考落下帷幕 十二年寒窗 一笑而“过”...
- Servlet运行的详细步骤
- 跨行成为一名程序员必备这5步,从程序员到工程师!
- Gecco学习笔记(一):综述
- pyspark.sql.functions详解
- 错误 C4996 ‘fopen‘: This function or variable may be unsafe. Consider using fopen_s instead. To disabl
- 考研数据结构代码整理