如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
GNU make Docker镜像是包含GNU make工具的容器化版本。GNU make是一款经典的构建自动化工具,通过解析Makefile(包含构建规则和依赖关系的文本文件),自动执行编译、链接、打包等命令,实现程序组的高效维护和构建流程自动化。该镜像旨在提供标准化的make运行环境,消除因主机系统中make版本或依赖库差异导致的构建不一致问题,简化跨平台和团队协作中的构建流程。
make all、make clean),执行对应规则组;若未指定目标,默认执行Makefile中的第一个目标。CC=gcc)、模式规则(如%.o: %.c)、条件判断(ifeq)、内置函数(如wildcard、patsubst)等高级功能。1. 拉取镜像
从Docker Hub拉取官方GNU make镜像(以latest标签为例):
bashdocker pull gnu/make:latest
2. 运行容器执行make命令
在项目根目录(包含Makefile的目录)下,运行以下命令挂载当前目录到容器中,并执行make:
bashdocker run --rm -v $(pwd):/app -w /app gnu/make:latest make [目标]
--rm:容器退出后自动删除,避免残留容器文件。-v $(pwd):/app:将本地当前目录($(pwd))挂载到容器内的/app目录。-w /app:设置容器的工作目录为/app,确保make在挂载的项目目录中查找Makefile。[目标]:可选,指定Makefile中的构建目标(如all、clean、install),若不指定则执行第一个目标。3. 示例:使用简单Makefile
创建测试用Makefile(保存为Makefile):
makefileall: hello hello: hello.o gcc -o hello hello.o hello.o: hello.c gcc -c hello.c clean: rm -f hello hello.o
创建hello.c文件:
c#include <stdio.h> int main() { printf("Hello, GNU make!\n"); return 0; }
运行容器执行构建:
bashdocker run --rm -v $(pwd):/app -w /app gnu/make:latest make all
执行后,本地目录生成hello.o和hello可执行文件。运行清理命令:
bashdocker run --rm -v $(pwd):/app -w /app gnu/make:latest make clean
传递环境变量
通过-e参数传递环境变量供Makefile使用:
bashdocker run --rm -v $(pwd):/app -w /app -e CC=gcc-11 gnu/make:latest make
指定自定义Makefile名称
使用-f参数指定非默认名称的Makefile:
bashdocker run --rm -v $(pwd):/app -w /app gnu/make:latest make -f MyCustomMakefile
集成到CI/CD流程(GitHub Actions示例)
在.github/workflows/build.yml中添加步骤:
yamljobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run make with Docker run: docker run --rm -v $(pwd):/app -w /app gnu/make:latest make all
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。





来自真实用户的反馈,见证轩辕镜像的优质服务