Docker创build独立的图像

Hy我在debian之上为Docker构build了一个小图片:Doce Hub的jessie图片。 首先我得到了debian:Docker Hub的jessie:

docker pull debian:jessie 

然后我用bash启动这个图像:

 docker run -it debian:jessie 

然后我安装我的东西,如SSH服务器,并configuration它。 接下来从第二个shell,我提交更改:

 docker commit <running container id> debian-sshd 

现在我有两个图像:

debian:jessie和debian-sshd

如果我现在想删除debian:jessie,docker告诉我,我不能删除这个,因为它有子图像(debian-sshd)

有没有办法让debian-sshd成为独立的映像?

大多数Dockerfiles从父映像开始。 如果您需要完全控制图像的内容,则可能需要创build基本图像。 以下是区别:

  • 父图像是您的图像所基于的图像。 它指向Dockerfile中的FROM指令的内容。 Dockerfile中的每个后续声明都会修改此父图像。 大多数Docker文件从父映像开始,而不是基本映像。 但是,这些术语有时可以互换使用。

  • 基本映像的Dockerfile中没有FROM行,或者有FROM从头。

从文档中引用,我会说图像是由图层组成的,因为您已经将图像映射到了debian:jessiedebian-sshd一个层次是debian:jessie图像。 如果你想要独立的图像,从头开始构build。

除此之外,所有的docker图像都是开源的,所以你可以浏览docker文件并修改它以适应你的需要。 另外,如果你想要自己的基础图像,你可以从头开始构build。