Docker 容器因主管原因退出

Docker 容器因主管原因退出

我已经从 Ubuntu 18 构建了一个映像作为基础映像。它安装了多个服务,例如 nginx、php-fpm 和 ssh。

一切都在正常运行,容器正在创建,我可以访问容器以及与容器相关的一切。

但我必须进入容器内部手动启动 nginx 和 php-fpm。我进行了一些 Google 搜索,找到了 Supervisor。

因此我添加了主管脚本来自动启动服务。但是自从添加了主管后,我的容器一创建就退出了。

在使用命令检查容器日志时docker logs container-name我收到错误:

/usr/lib/python2.7/dist-packages/supervisor/options.py:297: UserWarning: Supervisord 以 root 身份运行,并且正在默认位置(包括其当前工作目录)中搜索其配置文件;您可能需要指定“-c”参数,以指定配置文件的绝对路径以提高安全性。'Supervisord 以 root 身份运行,并且正在搜索'

在我的Dockerfile中,主管代码如下:

RUN apt-get install -y supervisor
.
.
.
.
COPY ./supervisor/supervisord.conf /etc/supervisor/supervisord.conf
COPY ./supervisor/sshd.conf /etc/supervisor/conf.d/sshd.conf
COPY ./supervisor/nginx.conf /etc/supervisor/conf.d/nginx.conf
COPY ./supervisor/php-fpm.conf /etc/supervisor/conf.d/php-fpm.conf
.
.
.
.
CMD supervisord -n -c /etc/supervisor/supervisord.conf

我在 Google 上搜索了很多次,但还是没能解决这个问题。如果有人能帮我解决这个问题,我将不胜感激。如果需要任何其他信息,请告诉我。

答案1

在你的supervisord.conf中,添加以下内容:

[主管]

nodaemon=真

这指示 Supervisord 在前台启动,而不是作为服务启动。我遇到了同样的问题,但这一行解决了它。

我从

相关内容