基础环境
#查看系统版本
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不会在容器删除时删除其挂载的数据卷。而且还可以实现容器间数据共享,灵活规划系统分区。