基礎環境
#查看系統版本
root@bluish:~# cat /etc/issue
Ubuntu 18.04.3 LTS \n \l
#更新系統
root@bluish:~# apt-get update && apt-get upgrade
#安裝配置遠程桌面
ensys@bluish:~/.vnc$ sudo apt install xfce4
ensys@bluish:~/.vnc$ sudo apt-get install vnc4server
ensys@bluish:~/.vnc$ vim ~/.vnc/xstartup
#替換爲如下內容
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
#啓動遠程桌面
ensys@bluish:~/.vnc$ vncserver -geometry 1280x1024
Vimplus(可選)
git clone https://github.com/chxuan/vimplus.git
cd ./vimplus
sudo ./install.sh
Docker容器
#新建分區並掛載
root@bluish:~# fdisk /dev/sdb
略
#查看分區和掛載情況
#修改 docker 鏡像和容器存儲目錄
root@bluish:~# vim /lib/systemd/system/docker.service
#docker鏡像和容器遷移到新目錄
root@bluish:~# mv /var/lib/docker/* /data/docker/
#重啓 docker 服務
root@bluish:~# systemctl daemon-reload
root@bluish:~# systemctl restart docker
#驗證是否遷移成功
root@bluish:~# docker ps -a
jellyfin 容器
/media 作爲媒體存儲目錄,相當龐大,宿主機映射 /storage/jellyfin 目錄給它
root@bluish:~# docker pull jellyfin/jellyfin
root@bluish:~# docker run --name=jellyfin -d -p 8096:8096 -v /jellyfin/config:/config -v /storage/jellyfin:/media jellyfin/jellyfin
bytemark/webdav 容器
#容器內目錄 /var/lib/dav 不可修改
root@bluish:~# docker pull bytemark/webdav
root@bluish:~# docker run --name webdav --restart always -v /storage/jellyfin:/var/lib/dav -e AUTH_TYPE=Digest -e USERNAME=Alice -e PASSWORD=DAV_PASS --publish 8888:80 -d bytemark/webdav
#啓動容器成功會在宿主機映射目錄下生成兩個文件,data 目錄爲 webdav 共享目錄內容
nextcloud 容器
nextcloud需要一個數據庫,我們也使用 docker容器來迅速部署一個 Mysql 服務
mysql 容器
root@bluish:~# docker pull docker.io/centos/mysql-57-centos7
root@bluish:~# docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=ROOT_PASS -e MYSQL_USER=user -e MYSQL_PASSWORD=USER_PASS -e MYSQL_DATABASE=nextcloud -p 3306:3306 docker.io/centos/mysql-57-centos7
nextCloud 容器
/var/www/html/data 爲 NextCloud 數據存儲目錄,相當龐大,宿主機映射 /storage/nextcloud 給它
docker pull docker.io/nextcloud
docker run -d --name=nextcloud --restart=always -p 80:80 -v /storage/nextcloud:/var/www/html/data docker.io/nextcloud
Tips: 容器IP可以用如下命令檢索
root@bluish:~# docker inspect mysql |grep IPAddress
打開宿主機 IP + 映射端口號就可以訪問了:
NextCloud 支持 webdav 協議訪問,和上面部署的 webdav 容器二選一
Linux上下載共享視頻或文件放在/storage/jellyfin/data目錄下就行了,如果要使用 NextCloud 共享需要遠程桌面使用瀏覽器登錄轉存一下,本地轉存很快的,實際上就是你的服務器磁盤讀寫速度。
測試
AppStore下載 NextCloud,登錄
nPlayer webdav 連接
查看宿主機映射的目錄存儲使用情況
如果不使用volume卷,容器就會撐得很大,而且不利於數據持久化,因爲Docker不會在容器刪除時刪除其掛載的數據卷。而且還可以實現容器間數據共享,靈活規劃系統分區。