这个Dockerfile扩展图像或创build一个新的?

我刚刚通过这个关于Docker图像的这个tutorail 这里 ,更具体地说,它是关于扩展一个泊坞窗图像,现在如果你滚动到部分说: 从Dockerfilebuild立一个图像 ,你会看到一个新的Dockerfile正在build立,现在这是一个独立的形象,或者是这个Dockerfile扩展training/sinatra图像? 这将是一个问题。

因此,重复我的问题,Dockerfile是从Dockerfile部分创build一个图像,创build一个新的图像或扩展training/sinatra图像?

谢谢。

该部分的命令是

 docker build -t ouruser/sinatra:v2 

这意味着它正在创build一个新的镜像,扩展Dockerfile中提到的镜像: FROM ubuntu:14.04

最终的结果是:

属于用户我们的用户的新图像,存储库名称sinatra并给它标签v2

每一步创build一个新的容器,运行该容器内的指令,然后提交该更改 – 就像我们前面看到的docker commit工作stream程一样。
当所有的指令执行97feabe5d2ed我们都留下了97feabe5d2ed图片(也有助于标记为ouruser/sinatra:v2 ),所有的中间容器都会被清除。

所以再次,这是一个独立的形象,独立于training/sinatra

为了扩大图像,你

  • 或者创build一个启动“ FROM <animage> ”的FROM <animage> ,然后构build它:它将在每个中间容器上执行一系列的docker commit
  • 或者“ 更新和提交图像 ”中描述的内容,则可以通过运行bash,执行命令,退出并将已退出的容器提交到新图像来手动执行此操作。

第一种方法更好地扩展:链接在一个Dockerfile中指定的多个提交。