Tag: 监督员

docker呼叫程序(nodejs)从另一个容器(主pipe)

我的docker-compose.yml是这样的: nodejs: build: . dockerfile: Dockerfile-nodejs tty: true ports: – "${SOCKET_PORT}:8081" volumes: – ../node:/var/www/html supervisor: build: . dockerfile: Dockerfile-supervisor tty: true volumes: – ..:/var/www/html – ./config/supervisor/conf.d:/etc/supervisor/conf.d links: – nodejs:nodejs 我创build了supervisor程序configuration文件: [program:nodejs.socket] command=nodejs /var/www/html/node/server.js autostart=true 但是 :我不能运行这个程序,因为主pipe的容器 找不到命令'nodejs' 问题 :我真的可以从supervisor-container运行nodejs,还是必须在nodejs-container中安装supervisor?

supervisord – 我的服务无法停止,开始没有给出正确的答案

我正在尝试在我的泊坞窗应用程序中使用supervisord。 这是相关的主pipeconf文件: [supervisord] nodaemon=true [supervisorctl] nodaemon=true logfile=/var/log/supervisord/supervisord.log [inet_http_server] port = 127.0.0.1:9001 [rpcinterface:supervisor] supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface [program:psd] command=/home/psd/PSD_ALL/apache-tomcat/bin/startup.sh autostart=false stdout_logfile=/home/psd/super stderr_logfile=/home/psd/super redirect_stderr=true [program:sshd] command=/usr/sbin/sshd -D -p 22 autostart=true 当我这样做:supervisorctl启动psd 我的应用程序启动,但我得到的答复是psd:错误(产卵错误) 当我看ps -ef时,我可以看到一个java进程,它是我的进程:/ usr / bin / java -Djava.util.logging.config.file = / home / psd / ……. 所以它的作品,但答复显示它没有工作。 当我试图停止我的服务时,我得到:psd:错误(不运行),并没有停止我的命令。 任何帮助将不胜感激,非常感谢

与主pipe启动多个Docker容器

我有一些Docker容器,我想开始使用supervisor 。 我的问题是,主pipe需要命令阻止跟踪他们。 命令docker run my/container:tag是不幸的非阻塞,即它立即返回产生​​一个进程。 Docker容器被启动(实际上有2个,有时可能有4个实例),但是主pipe指出一个错误“FATAL退出太快了(进程日志可能有详细信息)”。 主pipe可以用来运行Docker容器吗? 更新 我还有一些早期的试验也可以select,导致-i不能按预期工作(他们是不是相反,他们不应该提示某种错误?)。 当我在我的supervisor.conf使用-i运行时,出现错误time="2015-06-27T14:14:29+10:00" level=fatal msg="cannot enable tty mode on non tty input" 。 我也尝试运行没有-i ,它成功启动docker集装箱。 不幸的是, sudo supervisorctl stop app实际上并不会停止docker容器。 主pipe无法控制泊坞窗,或者我真的需要运行-i选项,并以某种方式解决这个tty错误? 更新2 tty错误来自我的docker run命令中也有-t选项。 我删除它。 但是, supervisorctl仍然无法停止docker运行。 虽然它没有给出错误,当运行和supervisorctl status app说,它已停止与docker ps我看到容器实际上仍在运行。

使用Supervisor启动Filebeat

所以我有一个包含Filebeat和一些其他服务的CentOS Docker镜像,我试图用Supervisor进行pipe理。 作为Supervisorconfiguration的一部分,我想启动Filebeat服务。 这是我在supervisord.conf中所要做的 [program:filebeat] command=/etc/init.d/filebeat start directory=/etc/init.d/ autostart=true autorestart=true 上面的代码给我一个错误,说明“无法获得D-Bus连接:操作不允许”。 任何思考什么是正确的方式来启动Filebeat?

数字海洋泊坞窗图像的主pipe

(初学者问题) 我已经成功地在数字海洋液滴上设置了一个nginx + gunicorn + djangodocker图像。 我的Django项目遵循非常好的Cookie-Cutter-Django模式( 请参阅此处 )。 在这个文档中 ,有一个主pipe安装的描述。 我在这里失踪的是主pipe应该在哪里跑步? 本地或远程? 我明白,如果我在我的笔记本电脑上安装主pipe,它将“保持活力”我的命令“docker-compose up”。 但是如果我需要一个星期的时间,笔记本电脑电量耗尽呢? 主pipe会停止工作吗? 如果是这样,我需要把它安装在我的液滴上,对吧?

与监督员开始无花果进程

我有问题停止与监督无花果进程。 supervisorctl start web_app 成功启动networking服务器,返回状态或RUNNING和某个PID。 当我跑步 supervisorctl stop web_app 该进程似乎终止,因为状态变为STOPPED和pid变为0,但实际的docker集装箱保持运行,networking应用程序永远不会终止。 supervisor.conf: [program:web_app] command = fig –file /home/luna/docker_test/fig.yml up stopasgroup = true killasgroup = true autostart = false autorestart = true 有任何想法吗?

我如何在主pipe中执行脚本?

我有一个start-all.sh我指定它在docker的CMD。 它按预期工作。 start-all.sh #!/usr/bin/env bash echo "It's Me Dear" /etc/init.d/hadoop-hdfs-namenode start /etc/init.d/hadoop-hdfs-datanode start /etc/init.d/hadoop-hdfs-secondarynamenode start /etc/init.d/hadoop-0.20-mapreduce-tasktracker start sudo -u hdfs hadoop fs -chmod 777 / /etc/init.d/hadoop-0.20-mapreduce-jobtracker start /etc/init.d/flume-ng-agent start /bin/bash 我无法在supervisord中指定相同的文件。 我试过了 [program:long_script] command=bash /usr/local/start-all.sh start-all.sh出现在与模式777相同的文件中。我该如何解决? [program:job_tracker] command=bash -c "/etc/init.d/hadoop-0.20-mapreduce-jobtracker start" 它开始和结束。 我检查了日志文件。 它说权限被拒绝。 我必须在同一命令中添加sudo -u hdfs hadoop fs -chmod 777 / 。 command=bash -c […]

Dockerfile supervisord找不到path

出于某种原因supervisord不能启动时,执行docker运行…如果我注销的configuration存储supervisord的path,我可以清楚地看到,该文件存在。 下面是我目前没有注释掉的Docker文件的一部分。 FROM ubuntu:16.04 MAINTAINER Kevin Gilbert # Update Packages RUN apt-get -y update # Install basics RUN apt-get -y install curl wget make gcc build-essential # Setup Supervisor RUN apt-get -y install supervisor RUN mkdir -p /var/log/supervisor COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf CMD ["/usr/bin/supervisord", "-c /etc/supervisor/conf.d/supervisord.conf"] 这是我在terminal运行后得到的错误。 remote-testing:analytics-portal kgilbert$ docker run kmgilbert/portal Error: could not find […]

Docker容器运行pipe理器过早closures

我正在使用这里描述的pipe理器运行一个有多个进程的Docker容器(来实现一个LAMP环境)。 一切工作正常,但是当我停止容器的MySQL进程不会得到正确的终止,即使我已经设置了pipe理员的pidproxy在pipe理员configuration [program:mysql] command=/usr/bin/pidproxy /run/mysqld/mysqld.pid /bin/sh -c "exec /usr/bin/mysqld_safe" 当我通过nsenter访问容器并重新启动MySQL守护进程 supervisorctl restart mysql 关机完成时不会在下次出现错误时抛出。 所以我认为主pipeconfiguration正确。 对我来说,似乎docker(我正在运行1.2.0)在mysqld仍然closures的时候终止了容器。 编辑 通过使用-e debug开关运行supervisord ,我能够debugging一些更多的细节。 closures与supervisorctl restart mysql通过nsenter supervisorctl restart mysql : DEBG fd 17 closed, stopped monitoring <POutputDispatcher at 39322256 for <Subprocess at 38373280 with name mysql in state RUNNING> (stderr)> DEBG fd 14 closed, stopped monitoring <POutputDispatcher at […]

通过主pipeclosuresDocker容器

我无法closures主pipe通过supervisorctl stop all启动的Docker容器supervisorctl stop all 。 即使通过supervisorctl status显示容器已closures, docker ps和ps表明它们实际上仍在运行。 咨询supervisorctl stop <name>操作的主pipe文档显示,如果在某个宽限期之后仍然运行, SIGTERM被发送到进程之后的SIGKILL 。 我试图手动做到这一点,发现 发送到docker run进程的SIGTERM不会执行任何操作 SIGKILL会杀死进程,但实际上并没有更新docker。 docker ps显示这个容器仍在运行 主pipe的SIGKILL不closures容器 问题是:如何正确closures一个Docker容器的主pipe? 以下是我的模拟pipe理员的实验结果: 开始位置: foo-1和bar-1正在运行(我离开了GCE容器,以防他们有所作为)。 ps aux和docker ps是同步的。 me@devenv:~$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5ba70bf8937f me/app:foo "/bin/sh -c 'supervi 5 minutes ago Up 5 minutes foo-1 e1a684bcfceb me/app:bar […]