You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Docker内运行Makefile target报错及基础镜像选择咨询

问题原因
  • 基础镜像缺少依赖:bash:latest仅提供基础bash运行环境,默认未预装make工具,无法执行Makefile相关指令。
  • 容器启动命令格式错误:执行docker run program "make test"时,被引号包裹的make test会被识别为单个可执行文件名而非「make命令+test参数」,系统找不到对应文件直接抛出执行错误。
可行解决方案

1. 基础镜像选择建议

优先选择alpine作为基础镜像,相比纯bash镜像灵活性更高,可方便安装各类构建工具,且镜像体积同样极小。如果对debian系工具链更熟悉,也可以选择debian:slim作为基础镜像。

2. 修改Dockerfile(以alpine为例)

FROM alpine:latest
# 安装make、bash等必要构建工具
RUN apk add --no-cache make bash
WORKDIR /usr/src/program
COPY Makefile ./

3. 修正容器执行命令

两种正确写法二选一即可:

  • 拆分参数不加引号:
docker build . -t program
docker run program make test
  • 明确指定bash执行指令:
docker build . -t program
docker run program bash -c "make test"

修改完成后重新构建运行,即可正常输出test target is working的执行结果。

内容的提问来源于stack exchange,提问作者Node.JS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:45:02