本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
build-container 是一个集成多种容器构建工具的轻量级镜像,旨在标准化和简化容器镜像的构建流程。其核心用途是提供统一的构建环境,支持在 CI/CD 流水线、本地开发或自动化系统中快速执行容器镜像的构建、测试和打包操作。
docker run 命令)通过 docker run 直接启动容器,挂载构建上下文并执行构建命令。
docker 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)
docker run --rm \ -v $(pwd):/workspace \ -w /workspace \ build-container \ buildah build --platform linux/amd64,linux/arm64 -t my-app:multiarch .
通过 docker-compose.yml 定义构建服务,简化多步骤构建流程。
version: '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" # 构建并推送镜像
启动服务:
docker-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=[***] |
BUILD_TOOL | 指定构建工具(docker/buildah) | docker | buildah |
为避免重复下载依赖或缓存构建结果,可挂载以下目录:
构建缓存卷:挂载 /var/cache/build 以缓存 npm、maven 等依赖:
docker 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:
docker 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 通过集成工具、简化配置和统一环境,为容器镜像构建提供了高效、灵活的解决方案。无论是自动化流水线还是本地开发,均能显著降低构建流程的复杂度,提升稳定性和一致性。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429