Docker是建立在Linux內核基礎上的,在目前的主流Linux系統中,都已經原生支持了Docker且使用體驗也最好,當然,在Windows平臺和MacOS系統中也支持Docker,只是需要使用類似Boot2Docker等虛擬化工具來提供Linux支持。
下面重點給大家介紹基于兩種創建docker鏡像的啟動容器時區別,感興趣的朋友可以跟著小編一起學習!
1.凡是用docker commit生成的鏡像啟動的時候可以加載一個啟動自己應用的腳本,例如:
docker run -d -P tomcat7.0b:jdk1.6 /run.sh
最后的/run.sh就是啟動tomcat應用,表示啟動該容器時順便啟動tomcat應用。否則只是啟動了容器,并沒有啟動自己的應用。
run.sh內容如下:
#!/bin/bash/usr/sbin/sshd -D &exec ${CATALINA_HOME}/bin/catalina.sh run
而且注意,就是現在這個容器是基于Docfile文件生成的鏡像實例化,如果你進行操作之后,然后使用docker commit來基于這個容器生成新鏡像,那么基于新鏡像生成的容器,還是一樣要加載一個啟動自己應用的腳步。
2.用Docfile文件生成的鏡像時,來啟動容器就不用再加這個腳本了
FROM sshd3:ubuntuMAINTAINER waitfish from dockerpool.com(978145009@qq.com)ENV DEBIAN_FRONTEND noninteractiveRUN echo "Asia/Shanghai" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdataRUN apt-get install -yq --no-install-recommends wget pwgen ca-certificates && apt-get clean && rm -rf /var/lib/apt/lists/*ENV CATALINA_HOME /tomcat ENV JAVA_HOME /jdkADD apache-tomcat-7.0.69 /tomcatADD jdk1.6.0_45 /jdk#ADD create_tomcat_admin_user.sh /create_tomcat_admin_user.shADD run.sh /run.shRUN chmod +x /*.shRUN chmod +x /tomcat/bin/*.shEXPOSE 8080CMD ["/run.sh"]
因為最后一句CMD就是表示啟動容器時,調用這個腳本。
以上所述是小編給大家介紹的兩種創建docker鏡像的啟動容器時區別總結,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!
新聞熱點
疑難解答
圖片精選