Docker安裝部署nextcloud個人網盤
環境搭建:
- 先完成docker的安裝配置
- 配置好鏡像加速器,不然速度可能上龜速。
mysql配置
然后拉取mysql鏡像:
docker pull mysql
查看是否拉取成功:
docker images #查看是否成功
然后基於鏡像運行容器:
docker run -d -p 3306:3306 -v /mnt/sde/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=WZS134125 --name mysql mysql
-d 以后台進程方式運行
-p 端口映射 將容器3306 映射到主機3306端口
-v 將容器/var/lib/mysql 映射到主機的/mnt/sde/mysql下
-e 設置環境變量 數據庫密碼WZS134125
--name 設置容器名稱 mysql 最后指定鏡像mysql
配置mysql數據庫容器
docker exec -it mysql /bin/bash #進入docker容器
-it: 提供一個虛擬終端
mysql:容器名稱或者id
/bin/bash: 終端命令行
進入容器內,然后登陸數據庫
mysql -uroot -pWZS134125
然后配置權限,遠程登陸
CREATE database nextcloud; #創建一個nextcloud的數據庫
GRANT ALL ON *.* TO 'root'@'%'; #設置root賬號任意ip登錄
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'WZS134125';
flush privileges;
上面的命令是設置root用戶遠程登陸以及無法登陸時的
數據庫操作完成
nextclouda安裝
docker pull nextcloud # 拉取nextcloud鏡像
docker run -d --restart=always -p 8888:80 -v /mnt/sde/nextcloud:/var/www/html -link mysql:mysql --name nextcloud nextcloud
-d 后台進程運行
-p 映射端口, 將容器80端口映射為主機的8888端口,可以自行修改端口,不過防火牆需要放通。
-v 掛載目錄,將容器/var/www/html掛載到主機/mnt/sde/nextcloud下面
--link 鏈接數據庫容器,鏈接使用mysql容器鏡像mysql(容器名稱)
--name 名稱,指定容器的名稱為nextcloud
nextcloud 使用的基礎鏡像。
網頁配置
http://ip:8888, 這個是剛剛配置的服務器地址加上剛剛映射的主機端口。
輸入用戶名密碼,數據庫使用MYSQL,數據庫以后用戶密碼,數據庫nextcloud,地址寫內部地址172.17.0.2.
然后安裝指示一路填寫信息,安裝就好了。
錯誤
如果提示不信任域名訪問
vim /mnt/sde/nextcloud/config/config.php 編輯配置文件。
0 =>'10.10.0.212:8888',添加。
重啟容器服務
docker restart nextcloud
。
完成。