我们可以构建一个在该容器中没有任何外壳的docker容器吗?是否可以创建没有外壳的容器?
答案 0 :(得分:2)
是的,您可以从头开始创建一个容器,它甚至不包含bash,它只包含您在构建期间复制的二进制文件,否则它将为空。
FROM scratch
COPY hello /
CMD ["/hello"]
您可以使用Docker保留的最小图像刮痕作为开始 建造集装箱的地点。使用暂存的“图像”信号来 您想要Dockerfile中的下一个命令的构建过程 成为图像中的第一个文件系统层。
当刮擦出现在集线器上Docker的存储库中时,您将无法 拉动它,运行它或标记任何带有刮擦名称的图像。相反,你 可以在您的Dockerfile中引用它。例如,创建一个最小 临时使用的容器:
使用此图像作为基础图像,您可以创建自定义图像,例如,仅添加节点运行时,然后尝试使用scratch-node格式。
FROM node as builder
WORKDIR /app
COPY package.json package-lock.json index.js ./
RUN npm install --prod
FROM astefanutti/scratch-node
COPY --from=builder /app /
ENTRYPOINT ["node", "index.js"]