fix(stack): 修正构建上下文路径层级 ../../.. 并将 base-build 重命名为 author

This commit is contained in:
augushong
2026-07-22 01:16:24 +08:00
parent 62e72af93d
commit bed965a9b1
10 changed files with 21 additions and 21 deletions

View File

@@ -138,8 +138,8 @@ jobs:
fi fi
# B-route: docker-serve compose 原始路径基于 source/stack/docker-serve/ # B-route: docker-serve compose 原始路径基于 source/stack/docker-serve/
# 使用 ../.. 引用项目根;远端 RELEASE_DIR 为扁平结构,需改回 . # 使用 ../../.. 引用项目根;远端 RELEASE_DIR 为扁平结构,需改回 .
sed -i 's|../..|.|g' "${RELEASE_DIR}/docker-compose.yaml" sed -i 's|../../..|.|g' "${RELEASE_DIR}/docker-compose.yaml"
cd "${RELEASE_DIR}" cd "${RELEASE_DIR}"
export COMPOSE_PROJECT_NAME export COMPOSE_PROJECT_NAME

View File

@@ -7,13 +7,13 @@ services:
# 正式环境中您应当构建一个完整镜像使用镜像名称或id运行不要使用dockerfile # 正式环境中您应当构建一个完整镜像使用镜像名称或id运行不要使用dockerfile
# image: ulthon/ulthon_admin:v1 # image: ulthon/ulthon_admin:v1
build: build:
context: . # Dockerfile 所在的目录 context: ../../.. # 仓库根目录B-route从模式目录 cd 进来后指向根)
dockerfile: Dockerfile # Dockerfile 的名称 dockerfile: source/stack/author/Dockerfile # Dockerfile 的名称
restart: always restart: always
ports: ports:
- "8000:8000" # HTTP - "8000:8000" # HTTP
volumes: volumes:
- ./:/var/www/html # 直接分发代码可以去掉注释并将下面的目录增加注释 - ../../..:/var/www/html # 直接分发代码可以去掉注释并将下面的目录增加注释
# - ./runtime:/var/www/html/runtime # - ./runtime:/var/www/html/runtime
# - ./public/storage:/var/www/html/public/storage # - ./public/storage:/var/www/html/public/storage
# - ./public/build:/var/www/html/public/build # - ./public/build:/var/www/html/public/build

View File

@@ -2,7 +2,7 @@
## 1. 文件作用 ## 1. 文件作用
`source/stack/base-build/docker/Dockerfile.base`**ulthon_admin 的基础镜像构建文件**,用于提前固化这些“低频变更但构建耗时高”的基础层: `source/stack/author/docker/Dockerfile.base`**ulthon_admin 的基础镜像构建文件**,用于提前固化这些“低频变更但构建耗时高”的基础层:
- Debian 源与系统包(如 `nginx` - Debian 源与系统包(如 `nginx`
- PHP 扩展安装能力(`install-php-extensions` - PHP 扩展安装能力(`install-php-extensions`
@@ -18,8 +18,8 @@
当前模式设计下有三类 Dockerfile 当前模式设计下有三类 Dockerfile
- `source/stack/full/Dockerfile`:全量构建(历史兼容方案) - `source/stack/full/Dockerfile`:全量构建(历史兼容方案)
- `source/stack/base-build/docker/Dockerfile.base`:基础镜像构建(本文件) - `source/stack/author/docker/Dockerfile.base`:基础镜像构建(本文件)
- `source/stack/base-build/Dockerfile`:应用镜像构建(`FROM <base-image>`,再拷贝业务代码) - `source/stack/author/Dockerfile`:应用镜像构建(`FROM <base-image>`,再拷贝业务代码)
推荐流程是: 推荐流程是:
@@ -43,8 +43,8 @@ docker login
在项目根目录执行: 在项目根目录执行:
```bash ```bash
docker build -f source/stack/base-build/docker/Dockerfile.base -t ulthon/ulthon_admin-base:latest . docker build -f source/stack/author/docker/Dockerfile.base -t ulthon/ulthon_admin-base:latest .
docker build -f source/stack/base-build/docker/Dockerfile.base -t ulthon/ulthon_admin-base:20260424233000 . docker build -f source/stack/author/docker/Dockerfile.base -t ulthon/ulthon_admin-base:20260424233000 .
``` ```
### 3.3 推送基础镜像 ### 3.3 推送基础镜像
@@ -90,7 +90,7 @@ docker build --build-arg BASE_IMAGE=ulthon/ulthon_admin-base:20260424233000 -t u
- 标签建议同时维护: - 标签建议同时维护:
- `latest`:默认引用 - `latest`:默认引用
- 时间戳:可追溯、可回滚 - 时间戳:可追溯、可回滚
- 若默认模式为 `base-build`,请保持: - 若默认模式为 `author`,请保持:
- 根目录 `Dockerfile` - 根目录 `Dockerfile`
- `source/stack/default/Dockerfile` - `source/stack/default/Dockerfile`
二者内容一致(符合 `source/stack` 目录规范)。 二者内容一致(符合 `source/stack` 目录规范)。

View File

@@ -138,8 +138,8 @@ jobs:
fi fi
# B-route: docker-serve compose 原始路径基于 source/stack/docker-serve/ # B-route: docker-serve compose 原始路径基于 source/stack/docker-serve/
# 使用 ../.. 引用项目根;远端 RELEASE_DIR 为扁平结构,需改回 . # 使用 ../../.. 引用项目根;远端 RELEASE_DIR 为扁平结构,需改回 .
sed -i 's|../..|.|g' "${RELEASE_DIR}/docker-compose.yaml" sed -i 's|../../..|.|g' "${RELEASE_DIR}/docker-compose.yaml"
cd "${RELEASE_DIR}" cd "${RELEASE_DIR}"
export COMPOSE_PROJECT_NAME export COMPOSE_PROJECT_NAME

View File

@@ -5,13 +5,13 @@
services: services:
ulthon_admin: ulthon_admin:
build: build:
context: ../.. context: ../../..
dockerfile: source/stack/docker-dev/Dockerfile dockerfile: source/stack/docker-dev/Dockerfile
restart: unless-stopped restart: unless-stopped
ports: ports:
- "8000:8000" - "8000:8000"
volumes: volumes:
- ../..:/var/www/html - ../../..:/var/www/html
extra_hosts: extra_hosts:
- "host.docker.internal:host-gateway" - "host.docker.internal:host-gateway"
depends_on: depends_on:
@@ -27,7 +27,7 @@ services:
MYSQL_ROOT_PASSWORD: root MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: ulthon MYSQL_DATABASE: ulthon
volumes: volumes:
- ../../docker-dev-data/mysql:/var/lib/mysql - ../../../docker-dev-data/mysql:/var/lib/mysql
healthcheck: healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s interval: 10s
@@ -40,7 +40,7 @@ services:
ports: ports:
- "16379:6379" - "16379:6379"
volumes: volumes:
- ../../docker-dev-data/redis:/data - ../../../docker-dev-data/redis:/data
phpmyadmin: phpmyadmin:
image: phpmyadmin:latest image: phpmyadmin:latest

View File

@@ -7,13 +7,13 @@ services:
# 正式环境中您应当构建一个完整镜像使用镜像名称或id运行不要使用dockerfile # 正式环境中您应当构建一个完整镜像使用镜像名称或id运行不要使用dockerfile
# image: ulthon/ulthon_admin:v1 # image: ulthon/ulthon_admin:v1
build: build:
context: ../.. # 仓库根目录B-route从模式目录 cd 进来后指向根) context: ../../.. # 仓库根目录B-route从模式目录 cd 进来后指向根)
dockerfile: source/stack/docker-serve/Dockerfile # Dockerfile 的名称 dockerfile: source/stack/docker-serve/Dockerfile # Dockerfile 的名称
restart: always restart: always
ports: ports:
- "8000:8000" # HTTP - "8000:8000" # HTTP
volumes: volumes:
- ../..:/var/www/html # 直接分发代码可以去掉注释并将下面的目录增加注释 - ../../..:/var/www/html # 直接分发代码可以去掉注释并将下面的目录增加注释
# - ./runtime:/var/www/html/runtime # - ./runtime:/var/www/html/runtime
# - ./public/storage:/var/www/html/public/storage # - ./public/storage:/var/www/html/public/storage
# - ./public/build:/var/www/html/public/build # - ./public/build:/var/www/html/public/build

View File

@@ -7,13 +7,13 @@ services:
# 正式环境中您应当构建一个完整镜像使用镜像名称或id运行不要使用dockerfile # 正式环境中您应当构建一个完整镜像使用镜像名称或id运行不要使用dockerfile
# image: ulthon/ulthon_admin:v1 # image: ulthon/ulthon_admin:v1
build: build:
context: ../.. # 仓库根目录B-route从模式目录 cd 进来后指向根) context: ../../.. # 仓库根目录B-route从模式目录 cd 进来后指向根)
dockerfile: source/stack/full/Dockerfile # Dockerfile 的名称 dockerfile: source/stack/full/Dockerfile # Dockerfile 的名称
restart: always restart: always
ports: ports:
- "8000:8000" # HTTP - "8000:8000" # HTTP
volumes: volumes:
- ../..:/var/www/html # 直接分发代码可以去掉注释并将下面的目录增加注释 - ../../..:/var/www/html # 直接分发代码可以去掉注释并将下面的目录增加注释
# - ./runtime:/var/www/html/runtime # - ./runtime:/var/www/html/runtime
# - ./public/storage:/var/www/html/public/storage # - ./public/storage:/var/www/html/public/storage
# - ./public/build:/var/www/html/public/build # - ./public/build:/var/www/html/public/build