婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 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的實現代碼的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产美女精品一区二区三区| 亚洲一区二区不卡免费| 欧美日韩国产高清一区二区三区 | 亚洲一区在线播放| 一区二区三区日本| 亚洲国产一区在线观看| 五月天精品一区二区三区| 午夜成人免费电影| 久久精品久久精品| 国产传媒欧美日韩成人| 国产成人一级电影| av亚洲精华国产精华精华| 91蝌蚪porny| 欧美日韩中文国产| 日韩一区二区电影网| 337p日本欧洲亚洲大胆精品| 亚洲国产精品99久久久久久久久| 国产网红主播福利一区二区| 最新高清无码专区| 亚洲宅男天堂在线观看无病毒| 奇米四色…亚洲| 国产成人在线视频免费播放| 色综合天天性综合| 欧美日本不卡视频| 国产日本欧美一区二区| 亚洲最新视频在线播放| 精品系列免费在线观看| 99热这里都是精品| 欧美精品 日韩| 亚洲国产精品二十页| 午夜精品福利一区二区三区av| 精品一区二区免费在线观看| 99久久国产免费看| 91精品国产麻豆国产自产在线| 久久网站最新地址| 午夜影视日本亚洲欧洲精品| 国产一区二区不卡在线| 91福利小视频| 久久久久九九视频| 爽好久久久欧美精品| 99精品1区2区| 久久婷婷国产综合国色天香| 亚洲成人av一区二区| 成人一级片在线观看| 欧美一区二区人人喊爽| 国产精品久久久久久久久快鸭| 青青草97国产精品免费观看 | 久久综合久久综合亚洲| 亚洲人成网站精品片在线观看 | 亚洲成人av中文| 国产传媒久久文化传媒| 欧美一区二区免费观在线| 一区二区三区四区在线免费观看| 国产福利精品导航| 91精品国产福利| 有码一区二区三区| 97se亚洲国产综合自在线观| 久久精品日产第一区二区三区高清版 | 亚洲第一电影网| 91在线国产福利| 国产精品久久看| 成人综合在线观看| 久久久久久免费| 久色婷婷小香蕉久久| 91精品国产手机| 亚洲成人免费看| 欧美三级视频在线| 亚洲自拍偷拍网站| 欧美色图第一页| 亚洲成av人综合在线观看| 在线一区二区三区做爰视频网站| 日韩毛片视频在线看| 色域天天综合网| 亚洲午夜精品在线| 欧美理论片在线| 奇米一区二区三区av| 日韩欧美亚洲国产另类| 麻豆久久一区二区| 久久综合999| 成人v精品蜜桃久久一区| 国产精品久久久久9999吃药| 99精品欧美一区二区蜜桃免费| 亚洲视频 欧洲视频| 91久久线看在观草草青青| 一区二区三区四区激情| 欧美羞羞免费网站| 免费av网站大全久久| 久久综合色综合88| 99久久婷婷国产| 午夜精品aaa| www激情久久| 92精品国产成人观看免费| 亚洲电影你懂得| 精品日韩99亚洲| 成人午夜激情视频| 亚洲午夜久久久久久久久电影网| 69堂国产成人免费视频| 国产一区二区三区黄视频| 中文字幕一区二区视频| 欧美日韩免费在线视频| 国产麻豆视频精品| 亚洲免费av高清| 日韩女优视频免费观看| 成人午夜免费视频| 三级影片在线观看欧美日韩一区二区 | 国产精品成人网| 制服丝袜亚洲网站| 国产99久久久国产精品潘金网站| 亚洲免费视频成人| 精品久久久久久亚洲综合网| 91成人国产精品| 国产丶欧美丶日本不卡视频| 一区二区三区在线视频播放| 精品sm在线观看| 在线观看免费一区| 国产激情视频一区二区在线观看 | 日韩一区二区影院| 91色在线porny| 国产在线视频精品一区| 一区二区三区日韩欧美| 久久久.com| 欧美电影免费观看高清完整版在线| 91女神在线视频| 国产成人精品一区二| 蜜臀av性久久久久av蜜臀妖精| 亚洲精品国产视频| 中文字幕欧美日本乱码一线二线| 欧美一区二区视频在线观看| 91精彩视频在线| 99久久国产综合精品女不卡| 国产精品一区二区三区网站| 日本aⅴ免费视频一区二区三区| 亚洲香肠在线观看| 亚洲狠狠丁香婷婷综合久久久| 国产精品乱码久久久久久| 精品国产一区二区三区久久影院| 欧美丝袜自拍制服另类| 在线中文字幕一区| 一本到一区二区三区| 成人黄色国产精品网站大全在线免费观看 | 欧美日韩亚洲综合在线 | 九一九一国产精品| 日韩成人免费电影| 亚洲成人自拍网| 亚洲图片一区二区| 亚洲电影一区二区| 亚洲成年人网站在线观看| 玉米视频成人免费看| 亚洲综合免费观看高清在线观看| 伊人一区二区三区| 亚洲天堂成人网| 亚洲欧美日韩中文播放 | 毛片不卡一区二区| 日本午夜一区二区| 蜜桃精品视频在线观看| 久国产精品韩国三级视频| 国产伦精品一区二区三区免费迷| 九一久久久久久| 久久99久久久久| 国产精品66部| 91视频精品在这里| 欧美性受xxxx| 日韩一区二区电影在线| 国产欧美视频一区二区三区| 国产精品电影一区二区| 亚洲国产你懂的| 国产一区欧美日韩| 91网站最新地址| 91精品国产综合久久小美女| 久久综合九色综合久久久精品综合| 亚洲国产精品成人综合| 亚洲制服欧美中文字幕中文字幕| 日韩国产在线观看| 国产成+人+日韩+欧美+亚洲| 91色婷婷久久久久合中文| 91精品福利在线一区二区三区 | 中文字幕在线观看一区二区| 亚洲第一福利视频在线| 国产在线精品一区二区夜色| 91尤物视频在线观看| 欧美精品自拍偷拍动漫精品| 国产日韩亚洲欧美综合| 一区二区三区在线免费播放| 国内精品久久久久影院色| 91啪在线观看| 欧美精品一区二区在线播放| 亚洲激情六月丁香| 久久精品国产精品青草| 在线观看视频一区二区欧美日韩| 2020国产精品| 午夜国产不卡在线观看视频| eeuss鲁片一区二区三区在线观看| 91精品婷婷国产综合久久性色| 中文字幕日韩av资源站| 久久国产乱子精品免费女| 91成人免费电影| 国产精品久久久久aaaa樱花 | 国产一区不卡视频| 欧美日韩国产欧美日美国产精品| 亚洲国产精品ⅴa在线观看|