# docker-dbuilder **Repository Path**: colovu/docker-dbuilder ## Basic Information - **Project Name**: docker-dbuilder - **Description**: Dockerfiles for builder environment image. - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-02 - **Last Updated**: 2025-04-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dBuilder 预安装常用工具及编译工具的镜像。 该镜像为基于 Debian 系统的 Builder 环境,主要用于在使用多阶段方式制作镜像时,进行软件源代码的下载、编译等预处理操作。预安装软件包节省软件包下载及更新时间。 **版本信息:** - 12、latest **镜像信息:** * 镜像地址: * 华为云: swr.cn-north-4.myhuaweicloud.com/colovu/dbuilder * 依赖镜像:swr.cn-north-4.myhuaweicloud.com/colovu/debian:12 > 后续相关命令行默认使用华为云 SWR 镜像服务器做说明。 ## TL;DR Docker 快速启动命令: ```shell # 从 Registry 服务器下载镜像并启动 docker run -it swr.cn-north-4.myhuaweicloud.com/colovu/dbuilder:latest /bin/bash ``` - latest:为镜像的 TAG,可针对性选择不同的 TAG 进行下载 - 不指定 TAG 时,默认下载`latest`镜像 ## 数据卷 镜像默认提供以下数据卷定义: ```shell /srv/data # 工作目录 /srv/conf # 配置文件目录 ``` ## 使用方式 使用`--from=0`方式: ```dockerfile # 预编译阶段 =============================== FROM swr.cn-north-4.myhuaweicloud.com/colovu/dbuilder:latest WORKDIR /tmp # 相关下载/解压/编译操作 # ... 省略 # 镜像生成阶段 ============================== FROM scratch # 从编译阶段的中拷贝编译结果到当前镜像中(例如:编译的应用直接安装至/usr/local时) COPY --from=0 /usr/local/ /usr/local # ... 省略其它操作 # 镜像命令 CMD [] ``` 使用`--from=name`方式: ```dockerfile # 预编译阶段。命名为`builder` ================== FROM swr.cn-north-4.myhuaweicloud.com/colovu/dbuilder:latest as builder WORKDIR /tmp # 相关下载/解压/编译操作 # ... 省略 # 镜像生成阶段 ============================== FROM scratch # 从编译阶段的中拷贝编译结果到当前镜像中(例如:编译的应用直接安装至/usr/local时) COPY --from=builder /usr/local/ /usr/local # ... 省略其它操作 # 镜像命令 CMD [] ``` 使用该方式的优势: - 因系统相关软件包已更新,工具已经预先安装,不需要在每次编译镜像时耗费大量时间在类似重复工作上 - 不用安装、删除临时软件,放置生成多余的垃圾文件;预编译阶段的内容使用完即丢弃,不会对镜像大小产生影响 - 没有相关的中间操作步骤,不会产生多余的镜像分层 ---- 本文原始来源 [Endial Fang](https://gitee.com/colovu) @ [Gitee.com](https://gitee.com)