新增部署专用 Dockerfile.deploy / docker-compose.deploy.yml 与本机构建脚本: 前端 dist 经 go:embed 编入 Go 二进制,alpine 运行时只打包不编译, 旧 Dockerfile 与双容器编排保持不变。
32 lines
928 B
YAML
32 lines
928 B
YAML
# WMS 生产部署(单容器,前端已嵌入 Go 二进制)
|
|
# 使用:
|
|
# ./scripts/deploy-build.sh # 本机编译前后端
|
|
# docker compose -f docker-compose.deploy.yml up -d --build
|
|
# 公共 MySQL/网络由仓库公共层提供,不自带数据库、不 publish 端口。
|
|
|
|
services:
|
|
wms:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.deploy
|
|
image: wms:local
|
|
container_name: wms
|
|
restart: unless-stopped
|
|
environment:
|
|
DB_DSN: "${WMS_DB_USER}:${WMS_DB_PASSWORD}@tcp(mysql:3306)/wms_default?charset=utf8mb4&parseTime=true"
|
|
GIN_MODE: release
|
|
volumes:
|
|
- ${VOL_DIR}/wms/uploads:/app/uploads
|
|
networks:
|
|
- services-net
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-q", "--spider", "http://localhost:8082/api/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
|
|
networks:
|
|
services-net:
|
|
external: true
|