創建本身的共享雲盤,有必要嗎?固然。萬一那些個牛轟轟的關張了呢?事實上一些已經關張了,還活着的某度會偷偷地進去翻你的東西,甚至把它看不順眼的文件直接刪除。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只是存儲了單份的拷貝,對於重要的數據,須要本身創建存儲的按期備份機制。