NextCloud
- 支持視頻倍速播放,最高4倍速
- 支持移動端App,Web訪問
- 👍👍👍
前言
- 首先部署是需要數據庫的,我們這邊選擇
Mysql
- Mysql數據文件通過掛載的方式,防止容器掛掉數據庫數據丟失
- Docker容器網絡通信,通過端口映射到容器內
- 有利於通過主機端口訪問
- 文件放在
/root/docker-home/nextCloud
,提前准備起來額
nextCloud
- mysql
- nextCloud
- data
- readme.md
- 宿主機:宿主機是已經存在的機器,例如雲主機、實體機器(台式,筆記本)、本地虛擬機(virtualbox VMware)、Nas
安裝 & 部署
軟件環境
Centos7.4
、Docker18.06
、Docker-Mysql
、Docker-NextCloud
Docker安裝
- 兩種方式自行選擇
- 官方安裝方式,可以安裝最新版本 https://docs.docker.com/engine/install/centos/
- Aliyun Repo安裝方式 https://developer.aliyun.com/mirror/docker-ce
創建網橋
- 使當前部署的服務在一個網絡平面內,相當於命名空間(白話:企業權限隔離)
docker network create nextCloud
設置docker mirros
- 下載鏡像默認從國外服務下載,這里修改為從阿里雲下載,速度杠杠的
native.cgroupdriver=systemd 入門可加可不加
- 文件位置/etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
- 重新配置,並重啟軟件
systemctl daemon-reload && systemctl restart docker
Docker-Mysql安裝
- --name 名稱"nextCloud-mysql"
- --network 使用上一步創建的網橋網絡 "nextCloud"
- -p 3306:3306 宿主機和容器端口映射
- -v 文件掛載,配置文件(conf),日志(logs),數據(data)
- -e 環境變量設置
- -d 使用的鏡像
docker run --name nextCloud-mysql \
--network nextCloud \
--network-alias nextCloud-mysql \
-p 3306:3306 \
-v /root/docker-home/nextCloud/mysql/conf:/etc/mysql \
-v /root/docker-home/nextCloud/mysql/logs:/var/log/mysql \
-v /root/docker-home/nextCloud/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=EZpZ2OBF3c02WMt0 \
-d mysql:5.7
設置Mysql允許遠程鏈接,並創建數據庫nextcloud
# 設置Mysql可以遠程鏈接
docker exec nextCloud-mysql /bin/bash -c 'mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "use mysql;grant all privileges on *.* to root@\"%\" identified by \"$MYSQL_ROOT_PASSWORD\" with grant option;flush privileges" '
# 創建nextcloud數據庫
docker exec nextCloud-mysql /bin/bash -c 'mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "create database nextcloud default character set utf8mb4 collate utf8mb4_unicode_ci;" '
Docker-NextCloud安裝
- --name 名稱"nextCloud-nextCloud"
- --network 使用上一步創建的網橋網絡 "nextCloud"
- -p 8081:80 容器內NextCloud服務端口80,映射到宿主機的8081端口,通過宿主機的IP和8081端口就可以訪問NextCloud
- -v 文件掛載
- -d 使用的鏡像
docker run --name nextCloud-nextCloud \
--network nextCloud \
-p 8081:80 \
-v /root/docker-home/nextCloud/data:/var/www/html/data \
-d nextcloud:latest
此時就可以通過宿主機的IP和端口8081,進行訪問了
- 注意防火牆,虛擬機網絡設置。如遇問題自行百度解決
如果需要遠程訪問數據庫,可以通過以下方式
- 本地軟件訪問,如,Navicat for MySQL
- 數據庫管理系統,如,phpmyadmin
Docker-phpmyadmin安裝(選裝)
- --name 名稱"phpmyadmin"
- --network 使用上一步創建的網橋網絡 "nextCloud"
- -p 8082:80 容器內phpmyadmin服務端口80,映射到宿主機的8082端口,通過宿主機的IP和8082端口就可以訪問phpmyadmin
- -e 設置容器內環境變量,數據庫主機(PMA_HOST),數據庫端口(PMA_PORT)
- -d 使用d額鏡像
docker run --name phpmyadmin \
--network nextCloud \
-e PMA_HOST=nextCloud-mysql \
-e PMA_PORT=3306 \
-p 8082:80 \
-d phpmyadmin
問題處理
在服務器上移動到文件夾的內容不顯示,需要掃描一下
docker exec --user www-data nextCloud-nextCloud php occ files:scan admin