docker安裝NextCloud
Docker部署NextCloud總結
我反復的安裝了很多遍,雖然最后成功了,但是我完全搞不清楚最后一次成功和以前的失敗有什么的不同
安裝方法
我是通過配置腳本安裝的,命令如下:
docker-compose -f nc.yml up -d
完成之后通過docker ps -a
查看安裝之后的情況。如果安裝不成功需要完全清除數據的時候需要把container停止掉,比如我安裝失敗的時候就是執行
docker stop `id`
然后
docker-compose -f nc.yml rm -v
這行命令比較徹底的清除數據,包括它創建的 volume, 這東西一般的刪除是不是清除它的,所以再次安裝的時候仍然會從它里面拿數據,但是rm -v
會比較徹底的清除。
配置
- 進入配置頁面的時候數據庫那塊記得把localhost改成db,因為yml文件中mariadb的名字就是db,這一點我沒有搞太清楚,不過這樣做是對了。
- 國內有由牆的問題,NextCloud的插件不能從web端直接下載安裝,所以需要從NextCloud的網站下載
gz
包,然后解壓拷貝到NextCloud的數據目錄下apps/
里面,再通過web端啟用
安裝之后的思考
我是通過docker-compose執行配置腳本安裝的,腳本是
version: '2' services: db: image: mariadb command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW restart: always volumes: - /opt/extra/db:/var/lib/mysql ports: - "3306:7988" environment: - MYSQL_ROOT_PASSWORD=密碼 - MYSQL_PASSWORD=密碼 - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud app: image: nextcloud ports: - 8686:80 depends_on: - db volumes: - /opt/extra/nextcloud:/var/www/html restart: always
這是個是最后成功的配置,雖然是成功的配置,但是我用這個配置也失敗過一次,第二失不知道怎么回事就成功了。我google和百度了很多次,大部分人的建議是把以前失敗的數據全部完全的刪除,並且清除container
,我總結了一下最后一次的特殊性,需要提醒的是就算是這么做也不一定成功.
- 由於我把數據庫和nextcloud的數據目錄映射到了本地,所以我重新安裝的的時候先把映射的這兩個目錄清空,包括隱藏文件
- 清除Container的時候使用上面提到的
docker-compose -f nc.yml rm -v
命令,務必保證環境是干凈的。 - 配置文件中
db
的端口以前只有3306,我把它映射出來了 - 我把
yml
文件中的link換成了depends_on,因為有人說link
沒有用。 - 環境那一塊設置密碼的部分等號后面我以前有一個空格,后來我把空格去掉了,不知道是不是不相同。
以上就是我修改的部分,再次強調不一定有用,僅供參考。