創建本身的共享雲盤 - 使用ownCloud

創建本身的共享雲盤,有必要嗎?固然。萬一那些個牛轟轟的關張了呢?事實上一些已經關張了,還活着的某度會偷偷地進去翻你的東西,甚至把它看不順眼的文件直接刪除。git

這裏介紹一個方法,使用ownCloud建立本身的網盤。github

ownCloud 能夠經過Docker部署,使用 the official ownCloud Docker image。該官方鏡像設計爲與宿主機文件系統的數據卷一塊兒工做,包含獨立的 MariaDBRedis containers。配置以下:web

  • 暴露端口 80 和 443,容許 HTTP 和 HTTPS 鏈接訪問。
  • 掛載宿主機的 data 和 MySQL data 目錄,用於持久存儲。

本地安裝

建立一個新的項目目錄,而後下載 docker-compose.ymlthe 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

當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只是存儲了單份的拷貝,對於重要的數據,須要本身創建存儲的按期備份機制。

相關文章
相關標籤/搜索