Tag: supervisord

在Docker容器中启动系统服务

我正在运行一个Docker容器,其中应用程序需要运行autofs服务,但它当前不是默认运行的。 容器已经使用supervisord来pipe理几个后台进程,所以我想我应该添加服务到主pipe的程序列表。 有没有办法做到这一点,而不是重复/etc/init.d/autofs许多逻辑? 就像是: [program:autofs] service = autofs 会很棒,但是这个语法似乎并不支持supervisord。 我应该直接调用systemctl , service还是/etc/init.d/autofs ?

主pipe没有启动到我的docker集装箱(Laravel项目)

主pipe没有启动到我的容器,我无法运行我的php artisan queue:work我的laravel项目的php artisan queue:work命令。 从我的Dockerfile中提取 # Add worker to supervisor config file COPY laravel-worker.conf /etc/supervisor/conf.d/ CMD ["/usr/bin/supervisord"] 这里是laravel-worker.conf: [program:laravel-worker] command=php /var/www/test/current/artisan queue:work –tries=3 user=myuser process_name=%(program_name)s_%(process_num)d directory=/var/www/test/current stdout_logfile=/tmp/supervisord.log redirect_stderr=true numprocs=1 autostart=true autorestart=true 当我进入容器时,主pipe服务没有启动: root@e7227ef40f63:/# service supervisor status supervisord is not running. 过程如下: root@e7227ef40f63:/# ps -aux | grep supervisor root 1 0.0 0.0 4328 652 ? […]

如何在docker的subprocesssupervisord环境中使用nodejs参数

使用Docker运行–env,我设置ARGUMENT = yes。 在supervisord.conf中: program:service] command=/usr/bin/node /service/service.js argument=%(ENV_ARGUMENT)s stdout_logfile=/service/service.out autostart=true autorestart=true 我需要使用docker run –env和supervisord环境传递的环境variables来运行nodejs参数。 使用%(ENV_ARGUMENT)s (Docker未运行), %(ARGUMENT)s (Docker未运行)或$ARGUMENT (它将以string$ ARGUMENT取回)不起作用。 是否有任何适当的方式使用supervisord环境的nodejs参数?

如何让Docker容器在安装时运行

我一直在使用可靠的docker模块在服务器上安装多个容器。 我有容器上运行的服务,如MySQL或MongoDB。 但是有时我的容器停止运行,所以我必须再次运行剧本,以便让它们再次运行。 我一直在尝试使用supervisord并编写docker命令在supervisorconfiguration中运行容器。 但是通过这样做,不需要使用可靠的docker模块。 我想继续使用它,因为它使dockerconfiguration更清洁,更乏味。 有没有更好的方法来实现这个使用可靠的docker模块? 什么是正确的方法?

Docker不会运行带有外部来源的cron作业文件(host-windows)

我使用主pipe运行cron和nginx,问题是当我尝试COPY或VOLUME挂载我的cron文件时,它不会在/etc/cron.d中运行我的cron文件 但是,当我exec -it <container_id> bash到容器中,并从内部创build完全相同的cron文件时,它立即被识别并按照它应该运行。 Dockerfile: FROM phusion/baseimage:latest ENV TERM xterm ENV HOME /root RUN apt-get update && apt-get install -y \ nginx \ supervisor \ curl \ nano \ net-tools RUN rm -rf /etc/nginx/* COPY nginx_conf /etc/nginx COPY supervisor_conf /etc/supervisor/ RUN mkdir -p /var/log/supervisor COPY crontabs /etc/cron.d/ RUN chmod -R 644 /etc/cron.d/ CMD /usr/bin/supervisord […]

复制文件并在容器启动时从Docker上的共享卷创build符号链接

我有一个容器在运行时装入一个共享卷,我需要从卷的装入位置拷贝一些文件到另一个文件,然后创build一个符号链接。 我尝试了几种方法,最后我使用了主pipe。 所以我创build了我简单的bash脚本,其中cp和ln所需要的从哪里容器被安装在docker容器到我的最终目的docker容器内。 但是主pipe失败了。 这是我的主pipeconf文件: [supervisord] nodaemon=true [program:nonversioned] command=/deploy.sh numprocs=1 autostart=true autorestart=true exitcodes=1 这是我的deploy.sh的一个例子 #!/usr/bin/env bash # Copy config files cp -f /efs/deploys/wp-config.php /var/www/html # Softlink to uploads ln -s /efs/deploys/uploads /var/www/html/assets/uploads 在我的Dockerfile中也尝试了几个启动supervisor的东西。 最后我试着用: CMD ["supervisord -n"] 但是它说supervisord不在路上 我正在开始我的容器: docker run -d -v /home/user/my_efs:/efs \ mytest/testing

docker运行找不到应用程序

我的项目结构是: /docker-test /app /static …. /templates …. -__init__.py …. -nginx.conf -supervisord.conf -uwsgi.ini -Dockerfile -app.py -requirements.txt 我通常通过进入/ docker-test> python app.py来运行应用程序 Dockerfile: FROM python:2.7 # Install uWSGI RUN pip install uwsgi # Standard set up Nginx ENV NGINX_VERSION 1.9.11-1~jessie RUN apt-key adv –keyserver hkp://pgp.mit.edu:80 –recv-keys 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 \ && echo "deb http://nginx.org/packages/mainline/debian/ jessie nginx" >> /etc/apt/sources.list \ && […]

当我在Windows上使用vagrant + docker时,文件系统问题

这是我的stream浪文件 Vagrant.configure("2") do |config| config.vm.define "app" do |app| app.vm.provider "docker" do |d| d.build_dir = "." d.cmd = ["/sbin/my_init", "–enable-insecure-key"] end end config.ssh.username = "root" config.ssh.private_key_path = "insecure_key" end 这是我的docker文件 FROM phusion/baseimage:0.9.15 MAINTAINER neetu ENV HOME /root RUN mkdir /buzzbuild ADD . /buzzbuild RUN cd /buzzbuild/ && chmod 777 install.sh && sh install.sh CMD ["/sbin/my_init"] EXPOSE […]

主pipe没有启动

我正在关注cloudera cdh4安装指南。 我的基本文件 FROM ubuntu:precise RUN apt-get update -y #RUN apt-get install -y curl RUN apt-get install -y software-properties-common python-software-properties RUN add-apt-repository ppa:webupd8team/java RUN apt-get update -y RUN echo debconf shared/accepted-oracle-license-v1-1 select true | \ debconf-set-selections RUN apt-get install -y oracle-java7-installer #Checking java version RUN java -version 我的hadoop安装文件 java_ubuntu是从我的基本文件构build的图像。 FROM java_ubuntu:latest RUN apt-get update -y […]

Docker主pipe – 无法findsupervisor.conf文件

我正在学习这个教程 。 在这个教程中有这一步: 现在让我们为Supervisor添加一个configuration文件。 默认文件名为supervisord.conf,位于/etc/supervisor/conf.d/。 COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf 让我们看看我们的supervisord.conf文件里面有什么。 但是,当我试图build立我的形象,我得到这个错误: Step 7 : COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf supervisord.conf: no such file or directory 没有任何意义,这是教程告诉我要做的。