欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > docker容器內要啟動兩個進程時Dockerfile的實現代碼

docker容器內要啟動兩個進程時Dockerfile的實現代碼

熱門標簽:高德地圖標注足跡怎么打標 智能電銷機器人真的有用么 激光標記地圖標注 電銷智能機器人試用 百度地圖底圖標注 撫州市城區地圖標注 中國地圖標注上各個省 新鄉牧野400電話申請 企業辦理400電話收費標準

近期想做一個cron定時任務的docker,在Dockerfile中做如下定義

FROM library/alpine:latest
RUN apk --update add rsync openssh bash
VOLUME ["/data"]
ADD start.sh /
CMD ["/bin/bash","/start.sh"]

在start.sh中用crontab 加載定時任務run.cron,然后啟動crond:

/usr/bin/crontab /run.cron

/usr/sbin/crond

docker build Dockerfile后,采用docker run –name xxx -d 運行容器,發現start.sh執行后容器就退出了,根本無法啟動定時任務,網上各種辦法有說用nohup,有死循環,還有說用信號,發現都不靠譜。

分析了一下docker的機制,一個docker容器同時只能管理一個進程,這個進程退出后,容器也就退出了。這并不意味著一個容器里只能同時運行一個進程(那樣太浪費了),只是最后一個運行的進程不能退出。

這個案例在容器啟動運行start.sh,crond的缺省設置是后臺運行,這樣導致start.sh運行結束,容器跟著start.sh退出而退出。

因此,在start.sh中,crond 應強制采用前臺運行:crond -f。

這樣start.sh就不會退出, docker run -d 運行時就可以保持容器后臺運行。

start.sh總結總結:

(1)容器中運行多個守護進程時,前面的進程要用后臺方式運行(或添加 &),否則后面的服務無法啟動

(2)容器中最后一個守護進程一定要用前臺方式運行,否則start.sh退出,容器退出,所有的服務就白啟動了

FROM ubuntu:latest

RUN mkdir -p "/usr/src/pdas" \

  mkdir -p "/usr/src/pdas/reload"

COPY bin.tar /usr/src/pdas
COPY config.tar /usr/src/pdas
COPY lib.tar /usr/src/pdas

WORKDIR /usr/src/pdas
RUN tar -xvf lib.tar && \

  tar -xvf bin.tar && \

  tar -xvf config.tar

ENV LD_LIBRARY_PATH /usr/src/pdas/lib/libxml/lib:/usr/src/pdas/lib/curl/lib:$LD_LIBRARY_PATH

WORKDIR /usr/src/pdas/bin
RUN chmod +x start.sh && \

  chmod +x f_recv && \

  chmod +x f_send

VOLUME /behb/diqu
VOLUME /var/log/pdas

ENTRYPOINT ./start.sh

其中 ./start.sh腳本如下

#!/bin/bash
./f_recv &
./f_send

以上是docker鏡像啟動腳本的一點心得。

補充知識:Docker中運行多個進程時的處理

通常,Docker容器適合運行單個進程,但是很多時候我們需要在Docker容器中運行多個進程。這時有兩種不同方法來運行多進程容器:使用shell腳本或者supervisor,兩種方法都很簡單,各有優劣,只是有一些值得注意的細節。這里只講用腳本的處理方法。

寫一個腳本multiple_thread.sh,腳本功能運行兩個python程序,將運行結果保存到log文件中。腳本內容如下

#!/bin/bash
# Start the first process
nohup python -u /tmp/thread1.py > /tmp/thread1.log 2>&1 &
ps aux |grep thread1 |grep -q -v grep
PROCESS_1_STATUS=$?
echo "thread1 status..."
echo $PROCESS_1_STATUS
if [ $PROCESS_1_STATUS -ne 0 ]; then
echo "Failed to start my_first_process: $PROCESS_2_STATUS"
exit $PROCESS_1_STATUS
fi
sleep 5
# Start the second process
nohup python -u /tmp/thread2.py > /tmp/thread2.log 2>&1 &
ps aux |grep thread2 |grep -q -v grep
PROCESS_2_STATUS=$?
echo "thread2 status..."
echo $PROCESS_2_STATUS
if [ $PROCESS_2_STATUS -ne 0 ]; then
echo "Failed to start my_second_process: $PROCESS_2_STATUS"
exit $PROCESS_2_STATUS
fi
# 每隔60秒檢查進程是否運行
while sleep 60; do
ps aux |grep thread1 |grep -q -v grep
PROCESS_1_STATUS=$?
ps aux |grep thread2 |grep -q -v grep
PROCESS_2_STATUS=$?
# If the greps above find anything, they exit with 0 status
# If they are not both 0, then something is wrong
if [ $PROCESS_1_STATUS -ne 0 -o $PROCESS_2_STATUS -ne 0 ]; then
echo "One of the processes has already exited."
exit 1
fi

下一步制作Dockerfile:

FROM centos:latest
 
COPY thread1.py /tmp/thread1.py
COPY thread2.py /tmp/thread2.py
COPY multiple_thread.sh /tmp/multiple_thread.sh
 
CMD bash /tmp/multiple_thread.sh

以上這篇docker容器內要啟動兩個進程時Dockerfile的實現代碼就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

標簽:延安 南通 辛集 海西 臨汾 邯鄲 忻州 西安

巨人網絡通訊聲明:本文標題《docker容器內要啟動兩個進程時Dockerfile的實現代碼》,本文關鍵詞  docker,容器,內,要,啟動,兩個,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《docker容器內要啟動兩個進程時Dockerfile的實現代碼》相關的同類信息!
  • 本頁收集關于docker容器內要啟動兩個進程時Dockerfile的實現代碼的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    欧美一区二区三区四区视频| 日韩国产欧美视频| 国产成人综合在线| 调教驯服丰满美艳麻麻在线视频| 日韩亚洲欧美在线观看| 视频一区视频二区中文| 久久久久久婷婷| 91麻豆精品国产91久久久| 亚洲国产三级在线| 超碰caoprom| 欧美一区二区视频网站| 日本不卡高清视频| 亚洲午夜福利在线观看| 2014亚洲片线观看视频免费| 久久疯狂做爰流白浆xx| 欧美福利第一页| 国产午夜精品在线观看| 高清国产一区二区| 色婷婷综合久久久中文字幕| 一区二区三区不卡在线观看| 中国特级黄色片| 日韩午夜精品电影| 激情亚洲综合在线| www.av成人| 一区二区三区四区激情| 丝袜熟女一区二区三区| 欧美va亚洲va| 国产福利一区二区三区视频| 色综合久久综合| 亚洲一区二区黄色| 国产特级黄色录像| 国产精品另类一区| 91原创在线视频| 欧美猛男gaygay网站| 美日韩黄色大片| 大地资源高清在线视频观看| √…a在线天堂一区| 美女久久久久久久久| 精品国产不卡一区二区三区| 国产91露脸合集magnet| 欧美三级日韩在线| 美腿丝袜在线亚洲一区| 亚洲欧洲综合网| 一区二区三区资源| 白丝女仆被免费网站| 国产精品视频一二| 影音先锋资源av| 久久久久久久性| 97久久精品人人爽人人爽蜜臀 | 国产网红主播福利一区二区| 成人精品高清在线| 欧美精品粉嫩高潮一区二区| 国产一区二区三区免费播放| 在线欧美小视频| 美女精品一区二区| 91福利在线免费观看| 美女网站色91| 91porn在线视频| 日韩av在线免费观看不卡| 久久福利免费视频| 婷婷夜色潮精品综合在线| 亚洲熟女少妇一区二区| 亚洲一区二区三区中文字幕| 国产又粗又硬视频| 亚洲国产欧美在线| 国产亚洲精品久久久久久豆腐| 亚洲无线码一区二区三区| 貂蝉被到爽流白浆在线观看| 亚洲成人在线观看视频| 欧美a级片免费看| 三级在线观看一区二区| av成人免费网站| 喷白浆一区二区| 在线一区二区三区四区五区| 日本欧美加勒比视频| 色欧美日韩亚洲| 国产原创一区二区三区| 欧美日韩国产大片| 成人性生交大片免费看中文 | 欧美三级韩国三级日本一级| 国产精品一区二区在线观看不卡| 欧美日韩精品是欧美日韩精品| 国产乱码精品一区二区三| 91精品国产一区二区三区 | 色婷婷久久综合| 加勒比av一区二区| 69堂精品视频| 91麻豆国产福利在线观看| 国产亚洲欧美日韩在线一区| 成人性生活免费看| 亚洲自拍偷拍麻豆| 草视频在线观看| 日韩一区二区三区四区| 99久久国产免费看| 国产精品网站在线| 黄色片在线观看免费| 日本午夜精品一区二区三区电影| 欧美视频在线不卡| 99视频一区二区| 国产精品色在线| 快灬快灬一下爽蜜桃在线观看| 天天操天天干天天综合网| 在线观看一区二区视频| 成人在线一区二区三区| 国产视频一区在线观看| 成人免费网站黄| 日本欧美在线观看| 制服丝袜一区二区三区| 麻豆精品国产传媒| 一区二区三区.www| 在线观看日韩高清av| 成人精品小蝌蚪| 日本一区二区三区国色天香| 性猛交娇小69hd| 麻豆视频一区二区| 欧美成人欧美edvon| 麻豆国产精品一区| 日韩av一区二区三区四区| 3d动漫精品啪啪1区2区免费| 日本50路肥熟bbw| 亚洲国产精品久久一线不卡| 欧美网站一区二区| 日本xxxx免费| 亚洲1区2区3区视频| 在线综合视频播放| 亚洲国产精品成人综合久久久| 日韩电影在线一区二区| 日韩精品一区二区三区视频播放| 爱爱的免费视频| 久久国产精品区| 欧美激情资源网| 国产67194| 97超碰欧美中文字幕| 一区二区在线观看av| 欧美绝品在线观看成人午夜影视| 久久黄色一级视频| 亚洲va欧美va天堂v国产综合| 7777女厕盗摄久久久| 可以直接看的无码av| 激情综合网最新| 一区在线观看免费| 精品视频在线看| 国产麻豆xxxvideo实拍| 久久精品国产999大香线蕉| 久久精品夜夜夜夜久久| www欧美com| 国产精品二区视频| 日韩av一级片| 久久综合色一综合色88| 99久久久免费精品| 久久久久亚洲av无码麻豆| 亚洲成人激情社区| 精品区一区二区| 成人涩涩小片视频日本| 亚洲av无一区二区三区久久| 婷婷中文字幕一区三区| 久久久综合精品| 色综合婷婷久久| 中文字幕a在线观看| 久久97超碰国产精品超碰| 国产精品理论在线观看| 欧美区一区二区三区| 国产探花视频在线播放| 99久久综合精品| 日韩成人dvd| 中文字幕免费一区| 欧美色区777第一页| 欧美老熟妇乱大交xxxxx| 成人高清免费观看| 午夜精品久久久久久久99水蜜桃| 久久天堂av综合合色蜜桃网| 91官网在线免费观看| aa片在线观看视频在线播放| 国产99精品国产| 亚洲成人手机在线| 国产欧美日韩精品一区| 欧美日韩在线免费视频| 中文字幕人妻一区二区三区在线视频| 粉嫩嫩av羞羞动漫久久久 | 亚洲成人动漫在线免费观看| 337p粉嫩大胆噜噜噜噜噜91av| 中文在线字幕在线观看| 鲁大师私人影院在线观看| 成人免费视频caoporn| 五月天网站亚洲| 国产精品高潮久久久久无| 欧美一区二区三区四区视频| 精品自拍偷拍视频| 久久久久久久久免费看无码| av成人动漫在线观看| 极品尤物av久久免费看| 一区二区国产视频| 日本一二三四高清不卡| 日韩欧美一区在线观看| 日本韩国一区二区三区视频| 性猛交ⅹxxx富婆video| 国产香蕉精品视频| 成人伦理片在线| 精品一区二区三区的国产在线播放| 亚洲综合一二区|