docker compose xtify-music-web
配置文件解析
该 docker-compose.yml
文件定义了一个多容器应用,包含前端(frontend
)和后端(backend
)两个服务。以下是关键配置项的说明:
前端服务 (frontend
)
- 使用镜像
sherlockouo/xtify-music-web:latest
- 容器名称设为
xtify-music-web
- 自动重启策略为
unless-stopped
(除非手动停止,否则自动重启) - 端口映射
2222:80
表示将宿主机的2222
端口映射到容器的80
端口 - 环境变量
API_BASE_URL
指定后端 API 地址(通过容器名backend
进行内部通信) - 依赖
backend
服务,确保后端先启动
后端服务 (backend
)
- 使用镜像
sherlockouo/xtify-music-server:latest
- 容器名称设为
xtify-music-server
- 自动重启策略为
unless-stopped
- 端口映射
35530:35530
将宿主机的35530
端口映射到容器的同名端口 - 环境变量包括:
PORT=35530
指定服务监听端口NODE_ENV=production
设置为生产环境- 注释部分预留了数据库连接配置(如需要可取消注释并填写实际值)
部署步骤
保存配置文件
将内容保存为docker-compose.yml
文件,确保缩进正确(使用空格而非制表符)。启动服务
在文件所在目录执行以下命令启动容器:docker-compose up -d
验证服务
- 访问前端:
http://宿主机IP:2222
- 检查后端API:
http://宿主机IP:35530/api
- 访问前端:
管理命令
- 停止服务:
docker-compose down
- 查看日志:
docker-compose logs -f
- 停止服务:
注意事项
- 若需添加数据库服务,可在配置中新增
database
服务并取消后端环境变量的注释。 - 确保宿主机端口(
2222
和35530
)未被占用,或根据需求修改映射端口。
version: '3'services:frontend:image: sherlockouo/xtify-music-web:latestcontainer_name: xtify-music-webrestart: unless-stoppedports:- "2222:80" # 前端Web服务端口environment:- API_BASE_URL=http://backend:35530/api # 后端API地址(容器内通信)depends_on:- backend # 依赖于后端服务,确保后端先启动backend:image: sherlockouo/xtify-music-server:latestcontainer_name: xtify-music-serverrestart: unless-stoppedports:- "35530:35530" # 后端API服务端口environment:- PORT=35530 # 服务监听端口- NODE_ENV=production # 生产环境模式# 可添加其他环境变量(如数据库连接信息)# - DB_HOST=database# - DB_USER=user# - DB_PASSWORD=pass
ip:2222访问