我有一个关于docker的存在性问题。鉴于此dockerfile:

FROM someImage
MAINTAINER abc
ENV something=somehow
RUN sh calculatePi.sh
ENV somethingElse=somehow2

“计算Pi”是一个永无休止的程序,需要在后台运行。它计算PI的所有数字(3.1415 .....),并将其保存到txt文件中。

我的问题:
  • 这个dockerfile甚至合理吗?
  • 如果是,当我基于该图像运行容器时,保存状态是什么?换句话说,如果我打开txt文件,将会看到什么?
  • 最佳答案

    Docker构建镜像时,Dockerfile中的每条指令都在临时容器中执行,该容器从前面的镜像层开始运行。因此,如果您的calculatePi.sh无限运行,那么您的图像将永远无法建立-它将停留在RUN指令上等待其完成。

    实际上,如果您尝试构建磁盘或CPU资源,则很有可能会最大化磁盘或CPU资源并关闭计算机。无论哪种方式,您都不会获得可以运行的完整镜像。

    关于docker - Docker构建状态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39725152/

    10-16 23:09