Docker文件中的FROM命令

时间:2017-05-17 13:31:01

标签: docker

我想了解Docker文件中的" FROM命令"有点深。 例:   我在我的centos上安装了docker。   现在我写了一个像这样的docker文件     来自:ubuntu     ----文件继续---     --------  在上面的场景中,FROM的用途是什么? Docker容器将首先下载ubuntu操作系统并在我的ubuntu或centos上运行我的应用程序?

我在这里有点困惑,有人可以解释一下这个吗?

2 个答案:

答案 0 :(得分:0)

Dockerfile指令FROM表示当你执行

docker build .

使用此Dockerfile,将使用图像ubuntu:latest。

所以你要么在本地拥有它,所以

docker images ubuntu

会显示它

或使用

构建新图像时下载

FROM ubuntu

是的,Docker会自动下载您在Dockerfile中指定的基本映像

参考文档

https://docs.docker.com/engine/reference/builder/#from

答案 1 :(得分:0)

来自Dockerfile docs

  

FROM指令为后续指令设置基本映像。因此,有效的Dockerfile必须将FROM作为其第一条指令。

所以它是Dockerfile中的第一条指令,必须存在;它告诉Docker哪个是基本图像,所有后续指令都将在其上发生。把它想象成一个(懒惰)厨师要放入烤箱的披萨的基础。厨师从商店购买比萨饼基地,然后添加厨师想要的任何东西,烤箱,厨师将有一个煮熟的比萨饼。

现在要理解的重要一点是,如果您的基本映像是ubuntu,那么您最终不会使用“ubuntu OS”下载,而是使用(更小)Ubuntu文件系统的快照,引用this Quora answer

  

所以[n] Ubuntu基本映像就像是Ubuntu文件系统的快照。因此它没有像完全成熟的虚拟机管理程序那样安装所有驱动程序。

它基本上是Linux内核顶部/周围的目录,二进制文件,配置文件等。

回到披萨比喻(因为:好玩),你的Docker主机就是烤箱 - 它有烹饪披萨所需的所有功能。因此,如果您的烤箱具有花哨的自动清洁功能,那么无论厨师烹饪比萨饼也可以使用。

如果您还没有注意到,则不必使用直接操作系统映像,也可以使用以应用程序为中心的映像。所以,如果你正在构建Python,那就有一个python图像。如果你正在做Ruby,那就是红宝石形象。

最后,我强烈建议您继续挖掘有关Docker或LXC容器的更多信息。

要获得深入的描述,请阅读Docker的Images and Containers说明。