Docker是建立在Linux內(nèi)核基礎(chǔ)上的,在目前的主流Linux系統(tǒng)中,都已經(jīng)原生支持了Docker且使用體驗(yàn)也最好,當(dāng)然,在Windows平臺(tái)和MacOS系統(tǒng)中也支持Docker,只是需要使用類似Boot2Docker等虛擬化工具來提供Linux支持。
下面重點(diǎn)給大家介紹基于兩種創(chuàng)建docker鏡像的啟動(dòng)容器時(shí)區(qū)別,感興趣的朋友可以跟著小編一起學(xué)習(xí)!
1.凡是用docker commit生成的鏡像啟動(dòng)的時(shí)候可以加載一個(gè)啟動(dòng)自己應(yīng)用的腳本,例如:
1
|
docker run -d -P tomcat7.0b:jdk1.6 /run .sh |
最后的/run.sh就是啟動(dòng)tomcat應(yīng)用,表示啟動(dòng)該容器時(shí)順便啟動(dòng)tomcat應(yīng)用。否則只是啟動(dòng)了容器,并沒有啟動(dòng)自己的應(yīng)用。
run.sh內(nèi)容如下:
1
2
3
|
#!/bin/bash /usr/sbin/sshd -D & exec ${CATALINA_HOME} /bin/catalina .sh run |
而且注意,就是現(xiàn)在這個(gè)容器是基于Docfile文件生成的鏡像實(shí)例化,如果你進(jìn)行操作之后,然后使用docker commit來基于這個(gè)容器生成新鏡像,那么基于新鏡像生成的容器,還是一樣要加載一個(gè)啟動(dòng)自己應(yīng)用的腳步。
2.用Docfile文件生成的鏡像時(shí),來啟動(dòng)容器就不用再加這個(gè)腳本了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
FROM sshd3:ubuntu MAINTAINER waitfish from dockerpool.com(978145009@qq.com) ENV DEBIAN_FRONTEND noninteractive RUN echo "Asia/Shanghai" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata RUN 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 /jdk ADD apache-tomcat-7.0.69 /tomcat ADD jdk1.6.0_45 /jdk #ADD create_tomcat_admin_user.sh /create_tomcat_admin_user.sh ADD run.sh /run .sh RUN chmod +x /*.sh RUN chmod +x /tomcat/bin/ *.sh EXPOSE 8080 CMD [ "/run.sh" ] |
因?yàn)樽詈笠痪銫MD就是表示啟動(dòng)容器時(shí),調(diào)用這個(gè)腳本。
以上所述是小編給大家介紹的兩種創(chuàng)建docker鏡像的啟動(dòng)容器時(shí)區(qū)別總結(jié),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)服務(wù)器之家網(wǎng)站的支持!