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

如何构建同时包含docker和make命令的einstore应用Docker镜像

解决方案

有两种成熟的实现方式可以满足你的需求,不需要找同时预装两个命令的第三方基础镜像:


方案1:在einstore官方基础镜像上补充安装Docker CLI(推荐)

该方案基于einstore官方适配的基础镜像修改,不会缺失einstore运行所需的其他依赖,稳定性最高。
根据einstore/einstore-base:latest的底层系统版本,在Dockerfile中添加对应安装命令即可:

  • 若基础镜像为Alpine系(绝大多数官方轻量化镜像的默认底层),修改后Dockerfile如下:
FROM einstore/einstore-base:latest
WORKDIR /app
# 安装Docker CLI
RUN apk add --no-cache docker-cli
COPY . .
RUN make install-db
  • 若基础镜像为Debian/Ubuntu系,修改后Dockerfile如下:
FROM einstore/einstore-base:latest
WORKDIR /app
# 安装Docker CLI
RUN apt update && apt install -y --no-install-recommends docker.io && rm -rf /var/lib/apt/lists/*
COPY . .
RUN make install-db

方案2:在docker官方基础镜像上补充安装make

docker:latest默认基于Alpine系统,直接添加make的安装命令即可:

FROM docker:latest
WORKDIR /app
# 安装make命令
RUN apk add --no-cache make
COPY . .
RUN make install-db

注意事项

如果make install-db执行过程中需要操作Docker daemon(如启动数据库容器):

  • 若该命令在镜像构建阶段执行,需要确保构建环境的Docker进程可被访问,可在执行docker build时添加--network host参数共享宿主机网络
  • 若该命令在容器运行阶段执行,不需要在容器内内置Docker daemon,运行容器时挂载宿主机的docker套接字即可:docker run -v /var/run/docker.sock:/var/run/docker.sock 你的镜像名

内容的提问来源于stack exchange,提问作者fatima zahra ben yahya

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 15:45:04