Skip to content

Commit 4bca8a9

Browse files
committed
fix(ci): compose 检查补挂载目录属主,避免容器崩溃循环
GitHub runner 上 ./data 由 compose 以 root 自动创建,容器内 appuser(uid 1001) 对 SQLite 无写权限导致启动即崩;up 前显式 chown 给 1001,并在失败路径 输出容器日志便于排查。
1 parent 96737c8 commit 4bca8a9

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

‎.github/workflows/ci.yml‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,18 @@ jobs:
4747
APP_SECRET: ci-placeholder-secret
4848
- name: 构建镜像并启动(验证 compose 可真实运行)
4949
run: |
50-
mkdir -p secrets
50+
mkdir -p data secrets
51+
# 容器以 uid 1001 (appuser) 运行,挂载目录必须可写,
52+
# 否则 SQLite 打不开、服务崩溃重启,health 永远不通
53+
sudo chown -R 1001:1001 data secrets
5154
docker build -t coding2api:ci .
5255
printf 'ci:%s\n' "$(docker run --rm coding2api:ci python -c 'from src.auth.users import create_password_hash;print(create_password_hash("cipw"))')" > secrets/users.txt
5356
APP_SECRET=ci-placeholder-secret docker compose up -d
5457
for _ in $(seq 1 30); do
5558
if curl -fsS http://127.0.0.1:8000/health >/dev/null; then break; fi
5659
sleep 2
5760
done
61+
# 失败排查线索:容器日志(含启动 Traceback)
62+
docker compose logs --tail 80
5863
curl -fsS http://127.0.0.1:8000/health
5964
docker compose down

0 commit comments

Comments
 (0)