
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
build-container 是一个集成多种容器构建工具的轻量级镜像,旨在标准化和简化容器镜像的构建流程。其核心用途是提供统一的构建环境,支持在 CI/CD 流水线、本地开发或自动化系统中快速执行容器镜像的构建、测试和打包操作。
docker run 命令)通过 docker run 直接启动容器,挂载构建上下文并执行构建命令。
示例:构建本地 Dockerfile
bashdocker run --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ # 挂载 Docker 守护进程(如需使用 docker build) -v $(pwd):/workspace \ # 挂载当前目录作为构建上下文 -w /workspace \ # 设置工作目录为构建上下文 build-container \ # 镜像名称 docker build -t my-app:latest . # 构建命令(使用 docker build)
示例:使用 Buildah 构建多平台镜像
bashdocker run --rm \ -v $(pwd):/workspace \ -w /workspace \ build-container \ buildah build --platform linux/amd64,linux/arm64 -t my-app:multiarch .
通过 docker-compose.yml 定义构建服务,简化多步骤构建流程。
yamlversion: '3.8' services: build-service: image: build-container volumes: - /var/run/docker.sock:/var/run/docker.sock # 如需使用宿主机 Docker 守护进程 - ./:/workspace # 挂载项目目录 working_dir: /workspace environment: - BUILD_TARGET=production # 自定义构建目标(对应 Dockerfile 中的 --target) - OUTPUT_IMAGE=my-app:${VERSION:-latest} # 输出镜像名称(支持变量注入) command: > sh -c "docker build --target \$BUILD_TARGET -t \$OUTPUT_IMAGE . && \ docker push \$OUTPUT_IMAGE" # 构建并推送镜像
启动服务:
bashdocker-compose up
通过环境变量自定义构建行为,无需修改命令行参数。
| 环境变量名 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
BUILD_CONTEXT | 容器构建上下文路径 | /workspace | /workspace/app |
DOCKERFILE_PATH | Dockerfile 路径(相对于构建上下文) | Dockerfile | ./docker/Dockerfile.prod |
TARGET_PLATFORM | 目标平台(多平台构建时使用) | linux/amd64 | linux/amd64,linux/arm64 |
OUTPUT_IMAGE | 输出镜像名称(含标签) | app:latest | my-registry.com/app:v1.0.0 |
BUILD_ARGS | 传递给构建的参数(空格分隔) | 空 | HTTP_PROXY=http://proxy:8080 |
BUILD_TOOL | 指定构建工具(docker/buildah) | docker | buildah |
为避免重复下载依赖或缓存构建结果,可挂载以下目录:
构建缓存卷:挂载 /var/cache/build 以缓存 npm、maven 等依赖:
bashdocker run --rm \ -v build-cache:/var/cache/build \ # 持久化缓存卷 -v $(pwd):/workspace \ build-container \ docker build -t my-app:latest .
(首次构建后,依赖会缓存至 build-cache 卷,后续构建可复用)
Docker 配置卷:如需使用私有镜像仓库,挂载宿主机 ~/.docker/config.json:
bashdocker run --rm \ -v ~/.docker/config.json:/root/.docker/config.json \ # 挂载 Docker 认证配置 -v $(pwd):/workspace \ build-container \ docker push my-private-registry.com/my-app:latest
docker.sock 时,容器内用户需有访问权限(可通过 --user $(id -u):$(id -g) 指定用户)。--network host 共享宿主机网络,或配置 --dns 指定 DNS 服务器。docker 和 buildah,可能导致配置冲突。build-container 通过集成工具、简化配置和统一环境,为容器镜像构建提供了高效、灵活的解决方案。无论是自动化流水线还是本地开发,均能显著降低构建流程的复杂度,提升稳定性和一致性。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务