草庐IT

supervisord

全部标签

在 supervisord 中设置环境变量时出现 Python 键错误

我在supervisord中设置了一个环境变量:[program:worker]directory=/srv/app/command=celery-Atasksworker-Qdefault-linfo-ndefault_worker.%%henvironment=BROKER="amqp://admin:password@xxxxx:5672//"然后,在我的celeryconfig.py中,我尝试像这样读取该变量。BROKER=os.environ['BROKER']但我仍然得到下面错误的key,为什么?File"/usr/local/lib/python2.7/dist-pack

docker - 通过主管关闭 Docker 容器

我无法关闭主管通过supervisorctlstopall启动的Docker容器。即使通过supervisorctlstatus显示容器已关闭,dockerps和ps也表明它们实际上仍在运行。查阅有关supervisorctlstop操作的主管文档会发现SIGTERM会被发送到进程,如果在某个宽限期后仍然运行,则SIGKILL会跟着SIGTERM发送。我尝试手动执行此操作,发现dockerrun发送到SIGKILL进程不执行任何操作dockerps确实杀死了进程,但实际上并没有更新docker。SIGKILL显示此容器仍在运行Supervisor的foo-1没有关闭容器问题是:主管如何

docker - 通过主管关闭 Docker 容器

我无法关闭主管通过supervisorctlstopall启动的Docker容器。即使通过supervisorctlstatus显示容器已关闭,dockerps和ps也表明它们实际上仍在运行。查阅有关supervisorctlstop操作的主管文档会发现SIGTERM会被发送到进程,如果在某个宽限期后仍然运行,则SIGKILL会跟着SIGTERM发送。我尝试手动执行此操作,发现dockerrun发送到SIGKILL进程不执行任何操作dockerps确实杀死了进程,但实际上并没有更新docker。SIGKILL显示此容器仍在运行Supervisor的foo-1没有关闭容器问题是:主管如何

node.js - 如何设置主管运行shell脚本

设置Dockerfile安装nodeprereqs然后设置supervisor以运行最终的npminstall命令。在VirtualBox下的CoreOS中运行Docker。我有一个Dockerfile正确设置所有内容:FROMubuntuMAINTAINER>#InstalldockerbasicsRUNecho"debhttp://archive.ubuntu.com/ubuntuprecisemainuniverse">/etc/apt/sources.listRUNapt-getupdateRUNapt-getupgrade-y#Installdependenciesandno

node.js - 如何设置主管运行shell脚本

设置Dockerfile安装nodeprereqs然后设置supervisor以运行最终的npminstall命令。在VirtualBox下的CoreOS中运行Docker。我有一个Dockerfile正确设置所有内容:FROMubuntuMAINTAINER>#InstalldockerbasicsRUNecho"debhttp://archive.ubuntu.com/ubuntuprecisemainuniverse">/etc/apt/sources.listRUNapt-getupdateRUNapt-getupgrade-y#Installdependenciesandno

python - Docker、Supervisord 和日志记录 - 如何在 docker 日志中整合日志?

所以,通过uWSGI试验Docker+Supervisord+Django应用程序。我的整个堆栈工作正常,但需要整理日志记录。如果我以非守护程序模式启动主管,/usr/bin/supervisord-n然后我将主管的日志输出播放到dockerlogs标准输出中。但是,如果supervisord处于守护程序模式,它自己的日志会隐藏在容器文件系统中,并且其应用程序的日志也会隐藏在它们自己的app__stderr/stdout文件中。我想要的是将主管和应用程序标准输出记录到docker日志中。在非守护程序模式下启动supervisord是一个明智的想法,还是会导致意想不到的后果?另外,如何让

python - Docker、Supervisord 和日志记录 - 如何在 docker 日志中整合日志?

所以,通过uWSGI试验Docker+Supervisord+Django应用程序。我的整个堆栈工作正常,但需要整理日志记录。如果我以非守护程序模式启动主管,/usr/bin/supervisord-n然后我将主管的日志输出播放到dockerlogs标准输出中。但是,如果supervisord处于守护程序模式,它自己的日志会隐藏在容器文件系统中,并且其应用程序的日志也会隐藏在它们自己的app__stderr/stdout文件中。我想要的是将主管和应用程序标准输出记录到docker日志中。在非守护程序模式下启动supervisord是一个明智的想法,还是会导致意想不到的后果?另外,如何让

docker - docker中Supervisor的使用

我不是在询问是否在docker中使用主管,而只是想验证我的理解。我了解docker在运行时会运行一个进程。另外,当我们需要在容器内运行多个进程时,使用supervisor。我见过几个例子,其中一个容器是从基础镜像启动的,并且安装了几个服务,并且容器promise形成一个新的镜像,所有这些都没有主管。所以,我的基本疑问是这两种方法有什么区别。我的理解是,当docker容器停止时,它会向PID1的进程发送终止信号,PID1管理子进程并停止所有子进程,这正是主管所做的,而我们可以安装多个进程而无需发出dockerrun时,supervisor只能运行一个进程,当容器停止时,只会发送PID1信

docker - docker中Supervisor的使用

我不是在询问是否在docker中使用主管,而只是想验证我的理解。我了解docker在运行时会运行一个进程。另外,当我们需要在容器内运行多个进程时,使用supervisor。我见过几个例子,其中一个容器是从基础镜像启动的,并且安装了几个服务,并且容器promise形成一个新的镜像,所有这些都没有主管。所以,我的基本疑问是这两种方法有什么区别。我的理解是,当docker容器停止时,它会向PID1的进程发送终止信号,PID1管理子进程并停止所有子进程,这正是主管所做的,而我们可以安装多个进程而无需发出dockerrun时,supervisor只能运行一个进程,当容器停止时,只会发送PID1信

linux - 如何重新创建正在运行的 supervisord 进程丢失的套接字

我经常在不同的盒子上发生supervisord套接字文件由于某种原因而消失的情况。还没有调查这是因为错误还是其他原因,但我想知道是否有可能重新创建/重新连接到由supervisord处理的这个套接字。进程仍在运行,我可以看到这一点>lsof-csupervisordCOMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAME[...]superviso16886root3wREG9,1853442753325/var/log/supervisor/supervisord.logsuperviso16886root4uunix0xffff8800596918000