Docker部署Musicn音乐下载工具
本文最后更新于38 天前,其中的信息可能已经过时,如有错误,欢迎留言。

简介

Musicn 是一个可播放及下载高品质音乐的命令行工具,支持咪咕、酷我、酷狗和网易云的服务,容器支持 amd64 和 arm64 架构。

功能特性

  • 支持播放及下载高品质音乐(MP3格式)
  • 多平台服务支持:咪咕、酷狗、网易云
  • 跨架构容器支持:amd64 / arm64

⚠️ 当前限制说明

  1. 暂不支持无损音质下载
  2. 仅提供普通 MP3 格式下载及播放
  3. 部分平台会员专属歌曲不可下载
  4. 其他服务因特殊原因暂停支持

本地自测环境

HostnameDockerCentos7
操作系统版本CentOS 7
Docker 版本26.1.4
Docker Compose 版本2.32.0

操作系统版本

[root@DockerCentos7 ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

Docker 版本

[root@DockerCentos7 ~]# docker -v
Docker version 26.1.4, build 5650f9b

Docker Compose 版本

[root@DockerCentos7 ~]# docker-compose -v
Docker Compose version v2.32.0

部署Musicn

创建部署目录

[root@DockerCentos7 data]# mkdir -p /data/musicn && cd /data/musicn

部署

docker部署

docker run -d --name=musicn --restart=unless-stopped -v ${PWD}/musicn:/data -p 7478:7478 ghcr.io/wy580477/musicn-container:latest msc -q 

docker-compose部署

[root@DockerCentos7 musicn]# cat docker-compose.yml 
version: '3.4'  # 指定使用的 Docker Compose 文件格式版本

services: 
  musicn:  
    image: ghcr.io/wy580477/musicn-container:latest  # 使用指定的容器镜像
    container_name: musicn  # 明确指定容器名称
    restart: always  # 容器退出时总是自动重启(包括手动停止后Docker重启时)
    entrypoint: ["/sbin/tini", "--", "msc", "-q"]  # 覆盖默认入口点,使用tini作为初始化系统运行msc -q命令
    ports:  
      - "7478:7478"  #端口映射
    volumes:  
      - ./data:/data  # 将当前目录下的data目录挂载到容器的/data目录

创建musicn容器

镜像名称:ghcr.io/wy580477/musicn-container:latest

[root@DockerCentos7 musicn]# docker-compose up -d
WARN[0000] /data/musicn/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion 
[+] Running 7/7
 ✔ musicn Pulled                                                                                                                                                    533.4s 
   ✔ da9db072f522 Pull complete                                                                                                                                     355.2s 
   ✔ 1a87d5cecb08 Pull complete                                                                                                                                     526.2s 
   ✔ 7b49ec57ee43 Pull complete                                                                                                                                     526.3s 
   ✔ 994a4e68db48 Pull complete                                                                                                                                     526.4s 
   ✔ 0eff51cfea66 Pull complete                                                                                                                                     526.4s 
   ✔ d1c24fd602f0 Pull complete                                                                                                                                     529.3s 
[+] Running 2/2
 ✔ Network musicn_default  Created                                                                                                                                    0.1s 
 ✔ Container musicn        Started  

检查容器状态

[root@DockerCentos7 musicn]# docker-compose ps
WARN[0000] /data/musicn/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion 
NAME      IMAGE                                      COMMAND                  SERVICE   CREATED         STATUS         PORTS
musicn    ghcr.io/wy580477/musicn-container:latest   "/sbin/tini -- msc -q"   musicn    2 minutes ago   Up 2 minutes   0.0.0.0:7478->7478/tcp, :::7478->7478/tcp

停止并删除容器

[root@DockerCentos7 musicn]# docker-compose down
WARN[0000] /data/musicn/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion 
[+] Running 2/2
 ✔ Container musicn        Removed                                                                                                                                    0.5s 
 ✔ Network musicn_default  Removed                                                                                                                                    0.3s 
[root@DockerCentos7 musicn]# docker-compose ps
WARN[0000] /data/musicn/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion 
NAME      IMAGE     COMMAND   SERVICE   CREATED   STATUS    PORTS
[root@DockerCentos7 musicn]# docker rmi ghcr.io/wy580477/musicn-container:latest

访问Musicn

检查防火墙

[root@DockerCentos7 musicn]# firewall-cmd --zone=public --list-ports #检查端口开放
80/tcp
[root@DockerCentos7 musicn]# firewall-cmd --zone=public --add-port=7478/tcp --permanent #添加端口
success
[root@DockerCentos7 musicn]# firewall-cmd --reload  # 重载(每次更改firewall规则后需重新加载)
success
[root@DockerCentos7 musicn]# firewall-cmd --zone=public --list-ports #查看端口,端口已开放
80/tcp 7478/tcp

访问

访问地址:192.168.10.143:7478,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。

选择音源,这里选择酷狗音乐,搜索栏填写需要搜索的歌曲名,在点击下载即可。

总结

在使用 Docker 部署 Musicn 音乐下载工具的过程中,Docker 的便捷性和高效性得到了充分体现。通过简单的 Dockerfile 和 docker-compose.yaml 文件,能够快速搭建和运行 Musicn,大幅简化了环境配置和依赖管理。Musicn 的命令行界面简洁易用,支持多个音乐平台的播放和下载功能。虽然目前不支持无损格式和部分会员专属歌曲,但普通 MP3 格式的下载和播放已经非常方便。这次实践展示了 Docker 在快速部署和管理应用方面的优势。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇