04月19, 2019

windows下用docker搭建owncloud

前言

写本文的目的是我遇到了一个困境: 我大概有300G的PT资源挂载在实验室的windwos上,因为这些资源大部分是视频影视资源,所以想做成一个云盘的形式,可以方便的进行文件管理与媒体播放。但是虚拟机下搭建和重开一个新服务器的方法都因为300G的限制被我放弃,经历过重重思考之后,发现可以使用owncloud的occ来完成自己的想法,但是owncloud本身不提供windows服务端,于是便使用docker进行环境搭建

步骤

第一步,用diskgenius分出足够的空间,并将格式格式化为exfat (这一步的目的是owncloud的权限做的比较死,而ntfs的不支持设置权限,当然听说用ntfs-3g也可以解决)

第二步,下载docker desktop for windows 屏幕快照 2019-04-19 下午4.43.32.png

第三步 拉载image 我们分别需要

docker pull mysql
docker pull owncloud

第四步启动mysql容器

我们期望这是一个可持久化容器,可以随开随停,但是数据持续更新 所以我们可以将容器中mysql的数据存储映射的本地

只需要通过 -v选项即可实现

docker run --name my-mysql  -v /d/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD="Password" -d mysql

这里 本地地址:容器地址

windows中/d/代表D盘

第五步,启动owncloud容器 我们需要将容器的80端口映射出来,由于我windows的80端口跑着一个vjudge服务,所以我将其映射到了8001

另外我们也同样需要将要初始化的数据盘也映射到容器中,这里假设是e盘。最后就是实现容器间的连接,这里简单的通过--link即可

docker run -d -p 8001:80 --name owncloud -v /e/:/test  --link my-mysql:mysql owncloud

第六步完成数据迁移

我们通过以下命令进入容器

 sudo docker exec -it owncloud /bin/bash  

通过apt安装vim、sudo等必要命令

将/var/www/html/data下目录全部拷贝到我们映射的文件夹下 删除data后,用ln -s 进行映射

我们使用

sudo chown -R www-data:www-data data/ 

修改权限

最后在owncloud目录执行

sudo -u www-data php occ files:scan --all

即可

本文链接:https://www.haolovej.com/post/20190419.html

-- EOF --

Comments

评论加载中...

注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。