最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Docker容器運(yùn)行多條命令(supervisor)

 更新時間:2018年04月03日 11:26:15   作者:KeKeFund  
本篇文章主要介紹了詳解Docker容器運(yùn)行多條命令(supervisor),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一, 簡介

Dockerfile 運(yùn)行只支持一條命令,當(dāng)在Docker里要運(yùn)行多條命令,用supervisor來管理就比較合適了。

Supervisor是一個 Python 開發(fā)的 client/server 系統(tǒng),可以管理和監(jiān)控類 UNIX 操作系統(tǒng)上面的進(jìn)程。它可以同時啟動,關(guān)閉多個進(jìn)程,使用起來特別的方便。

組成部分

supervisor 主要由兩部分組成:

supervisord(server 部分):主要負(fù)責(zé)管理子進(jìn)程,響應(yīng)客戶端命令以及日志的輸出等;
supervisorctl(client 部分):命令行客戶端,用戶可以通過它與不同的 supervisord 進(jìn)程聯(lián)系,獲取子進(jìn)程的狀態(tài)等。

二,存在的問題——日志不輸出

但是使用supervisor,Django運(yùn)行的日志就不會在Docker里輸出了,默認(rèn)的輸出如下:

2018-03-28 06:48:20,292 CRIT Supervisor running as root (no user in config file)
2018-03-28 06:48:20,308 INFO supervisord started with pid 1
2018-03-28 06:48:21,310 INFO spawned: 'celery_beat' with pid 7
2018-03-28 06:48:21,312 INFO spawned: 'celery_worker' with pid 8
2018-03-28 06:48:21,313 INFO spawned: 'django' with pid 9
2018-03-28 06:48:22,315 INFO success: celery_beat entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2018-03-28 06:48:22,315 INFO success: celery_worker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2018-03-28 06:48:22,315 INFO success: django entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

上面的Docker中supervisor配置如下:

[supervisord]
nodaemon=true
 
[program:django]
command=python manage.py runserver 0.0.0.0:8080
 
[program:celery_worker]
command=python manage.py celery worker -c 4 -l info
 
[program:celery_beat]
command=python manage.py celery beat

這樣的配置在容器中是同時運(yùn)行Django,celery。

三,解決方案

1,改進(jìn)后的配置方案

[inet_http_server]
port=9001
username=abc
password=123456
 
[supervisord]
nodaemon=true
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor      ; ('AUTO' child log dir, default $TEMP)
 
[program:django]
command=python manage.py runserver 0.0.0.0:8080
#stdout_logfile = /var/log/supervisord/django_stdout.log
loglevel=info
redirect_stderr=true
 
[program:celery_worker]
command=python manage.py celery worker -c 4 -l info
loglevel=info
redirect_stderr=true
 
[program:celery_beat]
command=python manage.py celery beat
loglevel=info
redirect_stderr=true

實(shí)測發(fā)現(xiàn)Django的日志輸出會寫到stderr.log文件中,所以在配置文件中將錯誤日志重定向到標(biāo)準(zhǔn)日志里;

redirect_stderr=true

容器中的生成的日志文件如下:

root@a16bc77e96bc:/var/log/supervisor# ls
celery_beat-stderr---supervisor-rSPQ7E.log  django-stderr---supervisor-9LS_KA.log
celery_beat-stdout---supervisor-t5Q4UI.log  django-stdout---supervisor-cTSBmq.log
celery_worker-stderr---supervisor-TRFzc7.log supervisord.log
celery_worker-stdout---supervisor-xNgeBU.log

2,查看日志

運(yùn)行容器時,將9001端口映射出去,通過ip:9001訪問:

點(diǎn)擊 Tail -f 查看各個進(jìn)程的日志。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker集群Error response from daemon: rpc error問題

    docker集群Error response from daemon: rpc&

    文章描述了在Docker集群中遇到的錯誤信息,并提供了解決辦法,解決辦法包括配置安全組,將Docker Swarm的所有節(jié)點(diǎn)IP添加到安全組中
    2025-01-01
  • 本地使用docker打包部署鏡像的方法

    本地使用docker打包部署鏡像的方法

    這篇文章主要介紹了本地使用docker打包部署鏡像的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Linux系統(tǒng)docker部署.net?core3.1的詳細(xì)步驟

    Linux系統(tǒng)docker部署.net?core3.1的詳細(xì)步驟

    這篇文章主要介紹了Linux系統(tǒng)docker部署.net?core3.1,文章演示基本的基于docker部署.netcore服務(wù),linux系統(tǒng)騰訊云ubuntu,.net?core版本3.1,需要的朋友可以參考下
    2022-09-09
  • docker容器日志時間不一致問題

    docker容器日志時間不一致問題

    這篇文章主要介紹了docker容器日志時間不一致問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Docker部署Rancher的方法(無坑)

    Docker部署Rancher的方法(無坑)

    這篇文章主要介紹了Docker部署Rancher的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • docker拉取鏡像錯誤missing signature key的解決方法

    docker拉取鏡像錯誤missing signature key的解決方法

    這篇文章主要介紹了docker拉取鏡像錯誤missing signature key的解決方法,當(dāng)我使用docker拉取一個特定的鏡像時,提示錯誤,文中給出了相關(guān)的解決方法,需要的朋友可以參考下
    2024-03-03
  • Docker 教程之基本概念(鏡像,容器,倉庫)詳解

    Docker 教程之基本概念(鏡像,容器,倉庫)詳解

    這篇文章主要介紹了Docker 教程之基本概念(鏡像,容器,倉庫)詳解的相關(guān)資料,這里對Docker 的基本知識做一個介紹,需要的朋友可以參考下
    2016-12-12
  • 開源框架?Matrix-Dendrite?搭建聊天服務(wù)器的詳細(xì)過程

    開源框架?Matrix-Dendrite?搭建聊天服務(wù)器的詳細(xì)過程

    Matrix?是一個開源、可交互、去中心化的實(shí)時通信服務(wù)框架。使用?Matrix?可以搭建安全的通信服務(wù)器,配合支持?Matrix?的客戶端可以實(shí)現(xiàn)個人、團(tuán)隊(duì)間的實(shí)時聊天交互,對Matrix?Dendrite搭建聊天服務(wù)器的過程感興趣的朋友一起看看吧
    2022-03-03
  • Docker實(shí)踐—CentOS7上部署Kubernetes詳解

    Docker實(shí)踐—CentOS7上部署Kubernetes詳解

    kubernetes作為docker的管理工具是由Google開源提供,但是kubernetes的安裝一直折磨著運(yùn)維人員,在這一系列的文章中我將會由kubernetes的安裝講起為大家介紹kubernetes的安裝使用等過程,也作為自己的學(xué)習(xí)筆記。
    2017-01-01
  • Docker安裝ElasticSearch和Kibana的問題及處理方法

    Docker安裝ElasticSearch和Kibana的問題及處理方法

    這篇文章主要介紹了Docker安裝ElasticSearch和Kibana的問題及遇到問題解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02

最新評論

保山市| 东海县| 灵璧县| 潞城市| 庆云县| 安远县| 中卫市| 信丰县| 马关县| 大冶市| 洪湖市| 丹江口市| 黑水县| 岫岩| 凯里市| 会理县| 滨海县| 合川市| 洛阳市| 含山县| 临武县| 赣榆县| 伊吾县| 罗定市| 浪卡子县| 兴海县| 岳普湖县| 黄山市| 聊城市| 高清| 建始县| 海伦市| 宁乡县| 新宁县| 龙山县| 云林县| 永安市| 海宁市| 廉江市| 宝坻区| 清河县|