這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)怎么在Docker容器中自啟動(dòng)應(yīng)用服務(wù),文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)公司-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比天峻網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式天峻網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋天峻地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴(lài)。編寫(xiě)服務(wù)自啟動(dòng)腳本(dockerd)
(tomcat為例)
#!/bin/bash # # # # chkconfig: 345 98 30 # description: tomcat program. # processname: tomcat # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. #. /etc/sysconfig/network prog="tomcat" checkprocess() { chkret=`ps -ef |grep $prog |grep -v "grep" |wc -l` return $chkret } start() { cd /usr/local/tomcat/bin/ ./startup.sh echo "Service $prog started!" } #/usr/sbin/nscd & /usr/sbin/sshd -D & while [ true ] do DNSIP=172.18.3.179 ping=`ping -c 3 $DNSIP|awk 'NR==7 {print $4}'` if [[ $ping -eq "3" ]] then break fi sleep 3 done while [ true ] do checkprocess if [[ $chkret -eq "0" ]] then start #nscd -i hosts else echo "Service $prog is running." fi sleep 60 done exit 0
編寫(xiě)Dockerfile
FROM tomcat MAINTAINER liu "350142639@qq.com" ADD dockerd /etc/rc.d/init.d/ RUN chmod 777 /etc/rc.d/init.d/dockerd ENV JAVA_HOME /usr/local/jdk1.6.0_30 ENV PATH $JAVA_HOME/bin:$PATH ENV CLASSPATH .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar CMD /etc/rc.d/init.d/dockerd
其中,ADD將同級(jí)目錄下的腳本加入鏡像的指定位置,ENV設(shè)置java的環(huán)境變量(很重要,不寫(xiě)這句自啟動(dòng)腳本無(wú)法執(zhí)行成功)CMD命令只能有一個(gè),用來(lái)在容器啟動(dòng)時(shí),執(zhí)行命令。也可以是腳本。
重構(gòu)鏡像
**通過(guò)
docker build -t 新的鏡像名 .
成功制作新的鏡像
開(kāi)啟容器
docker run -d -h=”s” –name=”s” 新的鏡像名
然后,發(fā)現(xiàn)tomcat已經(jīng)開(kāi)啟
上述就是小編為大家分享的怎么在Docker容器中自啟動(dòng)應(yīng)用服務(wù)了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。