众所周知,网易云音乐和深度 Linux 合作推出了 Linux 版的网易云音乐,可惜
为了能在任意 Linux 桌面下运行,以及避免闭源软件对系统造成影响,我尝试把它打成了 Docker image (基于 Ubuntu 16.04 )。 其实本来想打一个 flatpak 包,但是失败了(补了一堆依赖,不知道还有没有遗漏的,最后还报 udev 错误--!)。
其实思路很简单,把二进制软件包及没有列出的依赖装进 image 后,主要解决以下问题(docker-compose.yaml
和 Dockerfile
见https://github.com/vfreex/docker-netease-cloud-music):
/tmp/.X11-unix
到 container 里的同一路径DISPLAY
从 host 传到 container$XDG_RUNTIME_DIR/pulse/native
到 containerPULSE_SERVER
为上一条中 container 里面挂载的路径/dev/shm
到 container 里的同一路径我们希望 container 中运行程序的 user 和 host 的 uid 相同,以便访问用户 home 目录下的音乐库。
默认情况下,只挂载了 $HOME/.config/netease-cloud-music
、$HOME/Music/CloudMusic
和$HOME/Music
(只读),其它路径对 container 不可见(docker-compose.yaml
)。
确保你已安装并配置好了docker
和docker-compose
,下载
https://raw.githubusercontent.com/vfreex/docker-netease-cloud-music/master/docker-compose.yaml
, 进入下载到的目录,运行xhost +local && docker-compose up -d
。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.