目前各平台的音乐版权之争,导致用一个APP无法听完所有平台的歌曲,往往需要多个音乐APP一起用,有没有办法在一处能听所有平台的歌曲?答案是有的,我们可以通过Docker部署一个音乐Web服务器,实现听所有平台的歌曲,而且还能实现一处部署多设备使用。
1. 最终效果
PC 网页端:
跨平台搜索:
手机网页端:
2. 安装Docker
此处关于Docker的机制不再赘述,简单的说,你可以将Docker看作一个简单版的虚拟机,通过在公有仓库拉取镜像,然后就像运行APP一样运行各种镜像,镜像运行后称为容器,由于其特有的沙箱机制,和标准化的Docker引擎,运行Docker镜像,不需要本地部署任何环境(只需要有Docker即可),运行一个Web服务器,只需要仅仅一行代码,方便得不能再方便。
2.1 下载安装Docker
安装Docker也很简单,此处以Windows为例,打开网页:https://www.docker.com/products/docker-desktop,点击下载Windows版本。
双击下载的 “Docker Desktop Installer.exe” 安装文件,默认设置,一路 Next,点击 Finish 完成安装,然后重启,安装好后进行一些优化设置。
2.2 优化设置
安装好后需要进行一些优化设置,因为Windows版本的Docker实际上是通过Windows的虚拟机,来运行一个Linux系统上的Docker,Win10自带的虚拟机为Hyper-V,安装Docker后会自动打开,只需要重启即可。
因为只需要运行一个简单Web服务器,所以需要缩减一下虚拟机的配置,1个CPU和1GB内存完全够用了,注意需要登录Docker账号,请自行注册。
添加国内镜像Hub地址,网易云、七牛云都是不错的:
"https://hub-mirror.c.163.com/",
"https://reg-mirror.qiniu.com"
3. 拉取并运行镜像
在Docker镜像仓库里,有大神已经构建了一个本地音乐服务器的镜像“oldiy/music-player-docker”,感谢大神的付出。
我们直接拉取使用即可,打开CMD,运行命令:
拉取镜像:
docker pull oldiy/music-player-docker
运行镜像:
docker run -d --name music -p 264:264 -v C:\docker\music-player-docker:/var/www/html/cache oldiy/music-player-docker
注意:C:\docker\music-player-docker,为自定义目录,需要自己提前创建好,-d为后台运行,–name指定容器名称为music,-p添加本地264端口到容器264端口的映射,-v映射本地路径为容器缓存文件夹。
运行后,我们打开浏览器输入:http://localhost:264,即可打开Docker音乐服务器,在同一个网络下,通过手机等设备打开 http://xxx.xxx.xxx.xxx:264,(xxx.xxx.xxx.xxx为本机IP地址)就可以开心听歌啦。
电脑重启后,再次打开Web容器就很简单了,直接执行:
docker start music
我们甚至可以将这个Docker镜像部署到软路由、NAS、VPS等支持Docker的设备上,实现音乐无处不在,哈哈,具体的想法自己去实施吧。
4. 常用docker命令
# 查看镜像
docker images
# 删除镜像
docker rmi <image id or name>
# 运行镜像
docker run <parameters>
# 查看容器,默认查看运行中的容器,-a查看所有容器
docker ps <-a>
# 删除容器
docker rm <container id or name>
# 停止运行
docker stop <container id or name>
# 启动容器(注意,镜像运行一次就会生成一个容器,下次运行容器,不需要从镜像重新生成,即不需要再次docker run,用docker start命令即可)
docker start <container id or name>