簡體   English   中英

在Docker的Ubuntu上運行Supervisord

[英]Running Supervisord on Ubuntu in Docker

我正在嘗試使用超級用戶在Docker容器啟動時啟動nginx和postgresql。 使用以下Dockerfile和supervisord.conf文件,上述應用程序啟動,但稍后停止。 有誰知道可能是錯的嗎? stderr或系統日志文件沒有錯誤消息。

Dockerfile:

FROM ubuntu:14.04
RUN mkdir -p /var/www /var/pgsql/data /var/log/pgsql /var/log/nginx
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY nginx.conf /etc/nginx/sites-enabled/default
RUN apt-get -y update && apt-get -y upgrade
RUN apt-get -y install curl wget supervisor postgresql postgresql-contrib libpq-dev llvm gcc g++ python3-pip python2.7 pytho
n2.7-dev python-pip git nginx nodejs openjdk-7-jdk build-essential
RUN apt-get -y clean all
EXPOSE 80 8000 8080
CMD ["/usr/bin/supervisord"]

administratord.conf:

[supervisord]
nodaemon=true

[program:nginx]
command=/bin/bash -c "exec /usr/sbin/nginx -DFOREGROUND"
stdout_logfile=/var/log/nginx/%(program_name)s.log
stderr_logfile=/var/log/nginx/%(program_name)s.log

[program:postgresql]
command=/bin/bash -c "exec /usr/lib/postgresql/9.3/bin/postgres -D /var/pgsql/data"
stdout_logfile=/var/log/pgsql/%(program_name)s.log
stderr_logfile=/var/log/pgsql/%(program_name)s.log

你應該:

  1. 在前台使用-n 選項運行超級用戶。
  2. Dockerfile中使用ENTRYPOINT代替CMD

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM