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:jessie
, debian-sshd
一个层次是debian:jessie图像。 如果你想要独立的图像,从头开始构build。
除此之外,所有的docker图像都是开源的,所以你可以浏览docker文件并修改它以适应你的需要。 另外,如果你想要自己的基础图像,你可以从头开始构build。