【Docker项目实战】使用Docker部署music-tag-web音乐标签编辑器
一、music-tag-web介绍
1.1 music-tag-web简介
Music-Tag-Web 是一款功能全面的音乐标签编辑工具,专为管理和优化您的本地音乐库而设计。它不仅能够查看和编辑大部分音频格式的元数据,还提供了丰富的批量处理、整理和转换功能,使得管理大量音乐文件变得简单高效。
1.2 主要特点
- 广泛的音频格式支持:支持查看、编辑和修改大多数音频格式的元数据。
- 批量自动修改(刮削):可以自动批量更新音乐标签,提升音乐库的信息完整性。
- 音乐指纹识别:即使音乐文件缺少元数据,也能通过音乐指纹技术进行识别。
- 智能文件整理:可以根据艺术家、专辑等信息对音乐文件进行分组,并支持自定义多级分组。
- 灵活的排序选项:允许用户按照文件名、大小或更新时间等多种方式进行排序。
- 繁简体转换:支持音乐元数据在繁体中文与简体中文之间的批量转换。
- 元数据补充:能够从文件名中拆解并补充缺失的元数据信息。
- 文本替换功能:提供批量替换音乐元数据中的脏数据,保持数据清洁。
- 音乐格式转换:集成
ffmpeg
支持多种音乐格式之间的转换。 - 整轨切割:支持将整轨音乐文件分割成多个独立的曲目。
- 多源标签获取:可以从不同的来源获取音乐标签信息。
- 歌词翻译:内置歌词翻译功能,便于理解和欣赏不同语言的歌曲。
- 操作记录显示:方便用户追踪和回顾所有执行过的操作。
- 专辑封面管理:支持导出专辑封面,并允许上传自定义封面。
- 移动端适配:界面友好地适应移动设备,确保手机端访问同样流畅。
- 小爱同学兼容:支持使用小爱同学语音助手播放本地音乐及NAS上的音乐。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。
hostname | IP地址 | 操作系统版本 | Docker版本 | 镜像版本 |
---|---|---|---|---|
jeven01 | 192.168.3.88 | Ubuntu 22.04.1 LTS | 27.1.1 | latest |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署music-tag-web音乐标签编辑器。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven01:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2024-09-09 10:43:35 CST; 3 weeks 5 days ago
Docs: https://docs.docker.com
Main PID: 695 (dockerd)
Tasks: 135 (limit: 9387)
Memory: 4.0G
CPU: 46min 46.854s
CGroup: /system.slice/docker.service
├─ 695 /usr/bin/dockerd
├─ 846 containerd --config /var/run/docker/containerd/containerd.toml
3.2 检查Docker版本
检查Docker版本
root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven01:~# docker compose version
Docker Compose version v2.19.1
四、下载music-tag-web镜像
拉取music-tag-web镜像,镜像名称为:
xhongc/music_tag_web:latest
。
root@jeven01:~# docker pull xhongc/music_tag_web:latest
latest: Pulling from xhongc/music_tag_web
214ca5fb9032: Pull complete
fa7d81b69b9a: Pull complete
96a5a0a62ab5: Pull complete
7d3628511179: Pull complete
ea3879bc1c47: Pull complete
795d097495d7: Pull complete
d43d04714399: Pull complete
c393fca344e1: Pull complete
8bc55050d840: Pull complete
554226923268: Pull complete
09df76748688: Pull complete
f7faff18fae9: Pull complete
9715bb92b43a: Pull complete
0a465525c1c1: Pull complete
7932c1ba51f0: Pull complete
304c27021719: Pull complete
82ce0d70782e: Pull complete
7e4eaada0e96: Pull complete
26d053e64eaf: Pull complete
1791f2cbb5bd: Pull complete
317d91ef5cdd: Pull complete
21836414d041: Pull complete
2b8b014e17e7: Pull complete
Digest: sha256:07afa098abb5c2d075323f49ca8ef196c751deece018c6fcf16b3da4d7ce7ad0
Status: Downloaded newer image for xhongc/music_tag_web:latest
docker.io/xhongc/music_tag_web:latest
五、部署music-tag-web应用
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/music-tag-web && cd /data/music-tag-web
5.2 编辑部署文件
在`部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。
vim docker-compose.yaml
version: '3'
services:
music-tag:
image: xhongc/music_tag_web:latest
container_name: music-tag-web
ports:
- "8001:8001"
volumes:
- /data/music-tag-web/music:/app/media:rw
- /data/music-tag-web/config:/app/data
command: /start
restart: unless-stopped
5.3 创建music-tag-web容器
执行以下命令,创建music-tag-web容器。
root@jeven01:/data/music-tag-web# docker compose up -d
[+] Running 2/2
✔ Network music-tag-web_default Created 0.1s
✔ Container music-tag-web Started 0.6s
5.4 查music-tag-web容器状态
检查music-tag-web容器状态状态,确保music-tag-web容器正常启动。
root@jeven01:/data/music-tag-web# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
music-tag-web xhongc/music_tag_web:latest "/entrypoint.sh /sta…" music-tag 34 seconds ago Up 33 seconds 0.0.0.0:8001->8001/tcp, :::8001->8001/tcp, 8002/tcp
5.5 查看music-tag-web容器日志
检查music-tag-web容器日志,确保music-tag-web服务正常运行。
docker compose logs
六、访问music-tag-web服务
访问地址:http://192.168.3.88:8001,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。
默认账号密码 admin/admin ,第一次登录修改默认密码。
七、总结
通过Docker部署Music-Tag-Web音乐标签编辑器的实战项目,我深刻体会到了容器化技术在简化应用部署和提高环境一致性方面的巨大优势。只需几条简单的Docker命令,即可将Music-Tag-Web及其依赖项封装成一个独立的容器,轻松实现了跨平台的无缝迁移。此外,利用Docker Compose进一步简化了多容器应用的管理,使得服务的启动、停止和更新变得更加直观高效。
- 点赞
- 收藏
- 关注作者
评论(0)