From b9e7f51d5191c22902d5d2d88a393ce2230e94ee Mon Sep 17 00:00:00 2001 From: Tianyu Liu Date: Mon, 20 Apr 2026 23:16:13 +0200 Subject: [PATCH] Split compose dev build from registry deploy --- README.md | 20 +++++++++++++++++++- docker-compose.override.yml | 3 +++ docker-compose.yml | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 docker-compose.override.yml diff --git a/README.md b/README.md index 0521a7f..2c27cb8 100644 --- a/README.md +++ b/README.md @@ -217,12 +217,26 @@ python scripts/export_openapi.py 当前默认 Compose 服务名为 `app`,容器名固定为 `home-automation-app`。 -启动方式: +当前 Compose 分成两层: + +- `docker-compose.yml`:默认使用 registry image,适合部署 / 生产拉取 +- `docker-compose.override.yml`:仅为本地开发追加 `build: .` + +本地开发启动方式: ```bash docker compose up -d --build ``` +上面的命令会自动叠加 `docker-compose.override.yml`,因此本地仍然会按当前工作目录重新 build。 + +如果要按生产方式直接从 registry 拉取并启动,显式只使用基础 compose 文件: + +```bash +docker compose -f docker-compose.yml pull +docker compose -f docker-compose.yml up -d +``` + 持续查看日志: ```bash @@ -238,6 +252,10 @@ docker compose logs -f app - registry:`code.wanderingbadger.dev` - image:`code.wanderingbadger.dev//` +`docker-compose.yml` 中生产默认使用的 app image 当前为: + +- `code.wanderingbadger.dev/tliu93/home-automation:latest` + 当前 workflow 不再把 image name 硬编码到特定 user package 路径,而是直接使用当前仓库标识生成镜像路径: - `code.wanderingbadger.dev/${github.repository}:${tag}` diff --git a/docker-compose.override.yml b/docker-compose.override.yml new file mode 100644 index 0000000..bae39b4 --- /dev/null +++ b/docker-compose.override.yml @@ -0,0 +1,3 @@ +services: + app: + build: . \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index ebbcfaf..9035790 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ services: app: container_name: home-automation-app - build: . + image: code.wanderingbadger.dev/tliu93/home-automation:latest user: "1000:1000" restart: unless-stopped init: true