# docker **Repository Path**: micrograils/docker ## Basic Information - **Project Name**: docker - **Description**: Dockerfile Repository. - **Primary Language**: Docker - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-08 - **Last Updated**: 2026-08-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # docker Docker 镜像集合,提供各类应用的开箱即用容器化部署方案。 ## 项目列表 ### AI 编程助手 | 项目 | 说明 | |------|------| | [crush-impetus](crush-impetus/) | Charmbracelet Crush AI 编程助手(OpenCode 的官方继任者,Alpine + 单二进制,轻量) | | [opencode-ultra](opencode-ultra/) | OpenCode AI 编程助手,内置 Impetus(OpenSpec + Superpowers)和 oh-my-openagent(多 Agent 编排) | > 两者选型:`crush-impetus` 轻量、够用就好;`opencode-ultra` 工程化程度更高 > (非 root 运行、健康检查、离线缓存预热、镜像自描述),适合需要多 Agent 编排的场景。 > 上游脉络:OpenCode 于 2025-07 并入 Charm 组织并改名 Crush,原仓库 2025-09 归档; > 但 npm 上的 `opencode-ai` 包仍在持续发布,故本仓库两个镜像均继续维护。 ### WordPress 全家桶 | 项目 | 说明 | |------|------| | [wordpress](wordpress/) | WordPress 基础部署 | | [wp-example](wp-example/) | WordPress Docker Compose 示例 | | [wp-mariadb](wp-mariadb/) | WordPress + MariaDB 组合 | | [wp-nginx](wp-nginx/) | WordPress + Nginx 反向代理 | | [wp-php82](wp-php82/) | WordPress + PHP 8.2 | | [wp-php83](wp-php83/) | WordPress + PHP 8.3 | | [wp-php84](wp-php84/) | WordPress + PHP 8.4 | | [wp-php85](wp-php85/) | WordPress + PHP 8.5 | | [wp-wordpress](wp-wordpress/) | WordPress 核心镜像 | ### Web 应用 | 项目 | 说明 | |------|------| | [discuz](discuz/) | Discuz! 论坛系统 | | [frp](frp/) | frp 内网穿透工具 | | [grails](grails/) | Grails 框架运行环境 | | [grails256](grails256/) | Grails 256 运行环境 | | [h2o](h2o/) | H2O Web 服务器 | | [pukiwiki](pukiwiki/) | PukiWiki Wiki 系统 | | [team-nav](team-nav/) | 团队导航页 | | [webget](webget/) | Web 资源获取工具 | ## 目录结构 每个子项目目录包含独立的 `Dockerfile`、构建脚本和说明文档,可单独构建和部署。 ## 统一构建发布约定 所有需要构建并推送多架构镜像的项目,**脚本统一命名为 `publish-docker.sh`**,公共逻辑集中在仓库根的 [`docker_publish_lib.sh`](docker_publish_lib.sh),各项目脚本只保留定制部分。 ``` 仓库根/ ├── docker_publish_lib.sh # 公共库:builder 探测 / 平台降级 / 确认 / 构建推送 ├── global_version.sh # 公共版本变量 ├── micrograils_version.sh # 镜像名与 tag 推导 └── <项目>/publish-docker.sh # 项目定制:镜像 tag、build-arg、版本号解析 ``` 项目脚本的形态: ```bash source "${SCRIPT_DIR}/version.sh" # 项目自有版本定义 source "${SCRIPT_DIR}/../docker_publish_lib.sh" # 公共库 IMAGE_TAGS=("${IMAGE_NAME_VERSION}" "${IMAGE_NAME_LATEST}") BUILD_ARGS=("ALPINE_VERSION=${ALPINE_VERSION}") dp_publish "wp-nginx" "$@" ``` ### builder 选择策略 公共库按以下顺序挑第一个「支持全部目标平台」的 buildx builder: | 顺序 | builder | 说明 | |------|---------|------| | 1 | `$BUILDER_NAME` | 显式指定(`-b/--builder` 或环境变量) | | 2 | `default` | docker 驱动,本机 buildkit,最快;跨架构复用宿主已注册的 QEMU | | 3 | 当前 buildx 上下文选中的 builder | 兼容旧脚本依赖 ambient builder 的行为 | | 4 | `$DP_CONTAINER_BUILDER` | 独立 docker-container builder(内置 QEMU),仅在需要时创建 | 都缺平台时:自动尝试注册 QEMU,重新探测;仍缺则跳过不支持的平台并明确告警, **不会静默产出残缺的多架构 manifest**。 ### 常用参数 ```bash ./publish-docker.sh # 构建并推送(交互式会要求确认) ./publish-docker.sh 0.2.0 # 显式指定版本号 ./publish-docker.sh -y # 跳过交互确认 ./publish-docker.sh -n # dry-run,只打印构建命令 ./publish-docker.sh -p linux/amd64 ``` > 注意:依赖 `version.sh` 推导镜像名的项目(`micrograils_version.sh` 依据当前目录推导 `ARTIFACT_ID`), > 请在项目目录内执行脚本。 ## 参与贡献 1. Fork 本仓库 2. 新建分支 3. 提交代码 4. 新建 Pull Request