两种方式创建docker镜像的启动容器时区别介绍(总结篇)
Docker是建立在Linux内核基础上的,在目前的主流Linux系统中,都已经原生支持了Docker且使用体验也最好,当然,在Windows平台和MacOS系统中也支持Docker,只是需要使用类似Boot2Docker等虚拟化工具来提供Linux支持。
下面重点给大家介绍基于两种创建docker镜像的启动容器时区别,感兴趣的朋友可以跟着小编一起学习!
1.凡是用dockercommit生成的镜像启动的时候可以加载一个启动自己应用的脚本,例如:
dockerrun-d-Ptomcat7.0b:jdk1.6/run.sh
最后的/run.sh就是启动tomcat应用,表示启动该容器时顺便启动tomcat应用。否则只是启动了容器,并没有启动自己的应用。
run.sh内容如下:
#!/bin/bash /usr/sbin/sshd-D& exec${CATALINA_HOME}/bin/catalina.shrun
而且注意,就是现在这个容器是基于Docfile文件生成的镜像实例化,如果你进行操作之后,然后使用dockercommit来基于这个容器生成新镜像,那么基于新镜像生成的容器,还是一样要加载一个启动自己应用的脚步。
2.用Docfile文件生成的镜像时,来启动容器就不用再加这个脚本了
FROMsshd3:ubuntu MAINTAINERwaitfishfromdockerpool.com(978145009@qq.com) ENVDEBIAN_FRONTENDnoninteractive RUNecho"Asia/Shanghai">/etc/timezone&&dpkg-reconfigure-fnoninteractivetzdata RUNapt-getinstall-yq--no-install-recommendswgetpwgenca-certificates&&apt-getclean&&rm-rf/var/lib/apt/lists/* ENVCATALINA_HOME/tomcat ENVJAVA_HOME/jdk ADDapache-tomcat-7.0.69/tomcat ADDjdk1.6.0_45/jdk #ADDcreate_tomcat_admin_user.sh/create_tomcat_admin_user.sh ADDrun.sh/run.sh RUNchmod+x/*.sh RUNchmod+x/tomcat/bin/*.sh EXPOSE8080 CMD["/run.sh"]
因为最后一句CMD就是表示启动容器时,调用这个脚本。
以上所述是小编给大家介绍的两种创建docker镜像的启动容器时区别总结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!