国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

Docker容器內(nèi)應用服務自啟動的方法示例

2024-09-01 13:55:36
字體:
供稿:網(wǎng)友

如果想把Docker容器內(nèi)的應用服務隨著容器開啟時自啟動。只需要將服務啟動的腳本寫在Dockerfile里,然后用Dockerfile重構(gòu)鏡像即可實現(xiàn):

  • 編寫應用服務自啟動腳本
  • 編寫Dockerfile
  • 重構(gòu)鏡像
  • 開啟容器

編寫服務自啟動腳本(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/networkprog="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 3donewhile [ true ]do    checkprocess     if [[ $chkret -eq "0" ]]        then              start     #nscd -i hosts        else           echo "Service $prog is running."        fi    sleep 60doneexit 0

編寫Dockerfile

FROM tomcatMAINTAINER liu "350142639@qq.com"ADD dockerd /etc/rc.d/init.d/RUN chmod 777 /etc/rc.d/init.d/dockerdENV JAVA_HOME /usr/local/jdk1.6.0_30ENV PATH   $JAVA_HOME/bin:$PATHENV CLASSPATH  .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarCMD /etc/rc.d/init.d/dockerd

其中,ADD將同級目錄下的腳本加入鏡像的指定位置,ENV設置java的環(huán)境變量(很重要,不寫這句自啟動腳本無法執(zhí)行成功)CMD命令只能有一個,用來在容器啟動時,執(zhí)行命令。也可以是腳本。

重構(gòu)鏡像
**通過 
docker build -t 新的鏡像名 . 
成功制作新的鏡像

開啟容器

docker run -d -h=”s” –name=”s” 新的鏡像名

然后,發(fā)現(xiàn)tomcat已經(jīng)開啟

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到服務器教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 安丘市| 梁平县| 崇礼县| 宝山区| 阿合奇县| 宝应县| 凉城县| 平果县| 乌恰县| 兰考县| 马龙县| 丹凤县| 南宫市| 团风县| 五指山市| 罗甸县| 明光市| 邓州市| 邢台市| 吐鲁番市| 长子县| 永泰县| 富平县| 永福县| 舒城县| 洛隆县| 安平县| 吉首市| 运城市| 英山县| 威海市| 临武县| 红河县| 宜宾县| 武胜县| 曲阳县| 龙山县| 晋中市| 义乌市| 保康县| 永福县|