创建本身的共享云盘,有必要吗?固然。万一那些个牛轰轰的关张了呢?事实上一些已经关张了,还活着的某度会偷偷地进去翻你的东西,甚至把它看不顺眼的文件直接删除。git
这里介绍一个方法,使用ownCloud建立本身的网盘。github
ownCloud 能够经过Docker部署,使用 the official ownCloud Docker image。该官方镜像设计为与宿主机文件系统的数据卷一块儿工做,包含独立的 MariaDB 和 Redis containers。配置以下:web
建立一个新的项目目录,而后下载 docker-compose.yml
从 the ownCloud Docker GitHub repository 到这个指定的本地目录。 下一步,建立 一个 .env 配置文件,其中包含配置参数。只有不多的参数须要配置,以下:redis
设置参数名称 | 描述 | 举例 |
---|---|---|
OWNCLOUD_VERSION |
The ownCloud version | latest |
OWNCLOUD_DOMAIN |
The ownCloud domain | localhost |
ADMIN_USERNAME |
The admin username | admin |
ADMIN_PASSWORD |
The admin user’s password | admin |
HTTP_PORT |
The HTTP port to bind to | 80 |
HTTPS_PORT |
The HTTP port to bind to | 443 |
而后,你能够启动容器了。使用 Docker command-line tool。下面的例子,使用 Docker Compose来启动相关的容器服务。docker
使用 docker参考 in the GitHub repository。浏览器
# Create a new project directory mkdir owncloud-docker-server cd owncloud-docker-server # Copy docker-compose.yml from the GitHub repository wget https://raw.githubusercontent.com/owncloud-docker/server/master/docker-compose.yml # Create the environment configuration file cat << EOF > .env OWNCLOUD_VERSION=10.0 OWNCLOUD_DOMAIN=localhost ADMIN_USERNAME=admin ADMIN_PASSWORD=admin HTTP_PORT=80 HTTPS_PORT=443 EOF # Build and start the container docker-compose up -d
当处理完成,检查是否全部的容器都已经成功启动,经过运行 docker-compose ps
。若是所有成功,结果以下:dom
Name Command State Ports ------------------------------------------------------------------------------------------------------- server_db_1 /usr/bin/entrypoint /bin/s ... Up 3306/tcp server_owncloud_1 /usr/local/bin/entrypoint ... Up 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp server_redis_1 /bin/s6-svscan /etc/s6 Up 6379/tcp
你能够看到, database、 ownCloud和Redis containers已经运行,ownCloud 服务能够经过宿主机端口 443 和 80访问,即https和http端口。tcp
当全部容器刚开始运行,ownCloud须要几分钟才能彻底可用。若是运行 docker-compose logs --follow owncloud
查看日志输出,能够看到不少信息的输出到控制台窗口,稍等一下子,当消息减小时就能够来访问web UI了。ui
打开浏览器,进入 https://localhost
。能够看到ownCloud login screen。spa
用户名和密码是admin,是在上面的.env
配置里指定的。
第一次经过 HTTPS访问时,浏览器会出现警告说 SSL certificate 是自签名的。不过, the self-signed certificate can be overwritten with a valid cert, within the host volume.
假定你使用的 docker-compose, 如前面的例子,中止容器使用 docker-compose stop
。另外,可使用 docker-compose down
中止和删除容器,包括其相关的networks, images, 和 volumes。
当ownCloud发布新版本时,你应该更新运行的容器实例,以下:
首先,进入 .yaml
或 .env
文件的目录。
而后,让ownCloud 进入maintenance mode,经过下面的命令:
docker-compose exec server occ maintenance:mode --on
第三,建立备份,以防止升级过程出错,使用下面的命令:
docker-compose exec db backup
这假定你使用 the default database container from Webhippie。
第四,关闭容器。
docker-compose down
而后,更新 ownCloud 在 .env
和 YAML 文件中的版本号。可使用 sed 来替换,以下:
# Make sure that you adjust the example to match your installation. sed -i 's/^OWNCLOUD_VERSION=.*$/OWNCLOUD_VERSION=<newVersion>/' /compose/*/.env
查看下,是否都改完、改正确了:
cat .env
最后,从新启动服务:
docker-compose up -d
如今新版的 ownCloud 就运行起来了。
所存储的文件是挂在容器外面的,不会受到升级的任何影响。
可是,owncloud只是存储了单份的拷贝,对于重要的数据,须要本身创建存储的按期备份机制。