张静
|
1.既然docker是共享宿主机的内核,那为什么在dockerfile中还需要第一行From写基础镜像?如果某一个镜像最基础的就是普通的宿主机操作系统呢,为嘛还需要FROM引入基础镜像? 2. 如果制作镜像过程中FROM引入的基础镜像跟宿主机的linux内核版本不同有什么影响?比如dockerfile中from的是 centos6.2 但是宿主机本身系统是centos7,这样会有什么影响吗? 3.宿主机升级linux内核,但是镜像是在之前的旧系统时候制作的,现在升级内核后会有什么影响?
docker小白,好多不明白,跪求各位大神指点!! |
安德鲁伊贝斯基
|
1. 楼主的问题1我也产生过,虽然问法不一样,起初我也是想,如果就是运行在centos的服务器上,是否还需要FROM cetnos。但是既然所有书上一开始都说了要pull centos(ubuntu)这个基础镜像,那这不光是为了给mac和windows说来听的,就算宿主机已经是centos,docker能用的只是内核和命名空间等等吧,还有一部分不能拿来用,所以这172M的centos镜像就是必须pull下来或者FROM了,用来支持容器使用的,也占不了多少空间,楼主就不必再纠结了。 2. 这个问题,结合我问题1回答的,172M的centos镜像,可能只包含必须组件或者啥的(我瞎猜的不懂源码),内核是直接使用宿主机的,镜像里是否有内核的东西,我还真不知道,但我想172M这么点,也就别再纠结了,宿主机可以有多个版本内核,但是同一时间只能有一个版本的内核,切换内核要重启的,所以你同一时间也只能继承一个内核吧。 3. 这个情况没经历过,因为升级内核会遇到很多问题,不如直接用centos7,老的镜像就别要了,重新弄吧。
好吧 我也是才学习了两个月的新手,可能一派胡言,但是我也发过贴,没人回我的问题。刚好看你的贴,顺口跟你聊几句,错了不负责任哈,互相交流共同进步吧。
|
