- 多阶段构建 → 6.2MB 镜像 - .env.example 环境模板, 敏感配置运行时注入 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
31 lines
1.1 KiB
Bash
31 lines
1.1 KiB
Bash
#!/bin/bash
|
|
# 重新构建并部署 Docker 容器
|
|
# 配置从 .env 读取(参照 .env.example 创建)
|
|
cd "$(dirname "$0")"
|
|
set -a; source .env 2>/dev/null || { echo "缺少 .env 配置,请先参照 .env.example 创建"; exit 1; }; set +a
|
|
|
|
docker rm -f electric-monitor 2>/dev/null
|
|
docker build -t electric-monitor:latest . 2>&1 | tail -3
|
|
echo "=== 启动 ==="
|
|
docker run -d --name electric-monitor \
|
|
-p 6983:8000 \
|
|
-e LZU_USERNAME="$LZU_USERNAME" \
|
|
-e LZU_PASSWORD="$LZU_PASSWORD" \
|
|
-e LZU_AES_KEY="$LZU_AES_KEY" \
|
|
-e LZU_MD5_KEY="$LZU_MD5_KEY" \
|
|
-e LZU_SERVICE_ID="${LZU_SERVICE_ID:-29615}" \
|
|
-e TZ=Asia/Shanghai \
|
|
-v "$(pwd)/data:/app/data" \
|
|
electric-monitor:latest
|
|
sleep 8
|
|
echo "=== 容器状态 ==="
|
|
docker ps --filter name=electric-monitor --format "{{.Status}}"
|
|
echo "=== 内存 ==="
|
|
docker stats --no-stream electric-monitor --format "MEM: {{.MemUsage}} CPU: {{.CPUPerc}}"
|
|
echo "=== 日志 ==="
|
|
docker logs electric-monitor 2>&1 | head -8
|
|
echo "=== API 测试 ==="
|
|
curl -s --max-time 40 http://127.0.0.1:6983/api/electric
|
|
echo
|
|
curl -s -o /dev/null -w 'index: %{http_code}\n' http://127.0.0.1:6983/
|