我们可以有一个没有外壳的码头工人容器吗?

时间:2019-11-28 18:55:34

标签: docker linux-kernel dockerfile containers docker-container

我们可以构建一个在该容器中没有任何外壳的docker容器吗?是否可以创建没有外壳的容器?

1 个答案:

答案 0 :(得分:2)

是的,您可以从头开始创建一个容器,它甚至不包含bash,它只包含您在构建期间复制的二进制文件,否则它将为空。

FROM scratch
COPY hello /
CMD ["/hello"]
  

您可以使用Docker保留的最小图像刮痕作为开始   建造集装箱的地点。使用暂存的“图像”信号来   您想要Dockerfile中的下一个命令的构建过程   成为图像中的第一个文件系统层。

     

当刮擦出现在集线器上Docker的存储库中时,您将无法   拉动它,运行它或标记任何带有刮擦名称的图像。相反,你   可以在您的Dockerfile中引用它。例如,创建一个最小   临时使用的容器:

scratch-docker-image

使用此图像作为基础图像,您可以创建自定义图像,例如,仅添加节点运行时,然后尝试使用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"]