【问题标题】:Docker Alpine Supervisor unix:///run/supervisord.sock no such fileDocker Alpine Supervisor unix:///run/supervisord.sock 没有这样的文件
【发布时间】:2020-04-08 15:13:22
【问题描述】:

我将 docker、docker-compose 用于图像并基于 alpine 3.10 与我的应用程序和主管一起创建图像(由文档 3.3.5 提供)。但是在我进入容器并启动 supervisorctl 后,我遇到了错误。有人可以帮我解决它吗?

来自 img 的卷

volumes:
    - ./php-consume/supervisord.conf:/etc/supervisord/conf.d/supervisord.conf

还有我的supervisord.conf

[program:messenger-consume]
command=php /var/www/symfony/bin/console messenger:consume success andraction_parse_row_success --limit=100
numprocs=2
autostart=true
autorestart=true
process_name=%(program_name)s_%(process_num)02d

[supervisord]
nodaemon=true

当我进入容器并运行 supervisorctl

ivan@ivan-laptop:~/hosts/docker-symfony$ docker exec -it bc6df01db4db ash
/var/www/symfony # supervisorctl 
unix:///run/supervisord.sock no such file

【问题讨论】:

  • 您可以在问题中包含您的Dockerfile 吗?尝试在容器中启动和停止服务有点不寻常,通常如果您需要运行多个事物,在单独的容器中运行它们是更好的做法。
  • 你找到解决办法了吗?

标签: docker supervisord alpine


【解决方案1】:

您没有 supervisorctl 部分。 确保您已将主管 conf 文件复制到 /etc/suervisorsd.conf DockerFile

COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY supervisord.conf /etc/supervisord.conf

或使用参数启动它。

DockerFile

CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"]

这是我的supervisord.conf

的典型配置
[unix_http_server]
file=/dev/shm/supervisor.sock
chmod=0700

[supervisord]
nodaemon=true
logfile=/var/log/supervisor/supervisord.log
childlogdir=/var/log/supervisor

[rpcinterface:supervisor]
supervisor.rpcinterface_factory=supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///dev/shm/supervisor.sock

【讨论】:

  • 这有助于我使用supervisorctl status 命令。 /var/run/ 中的套接字不接受 docker 中的连接
猜你喜欢
  • 2016-02-18
  • 2012-11-22
  • 1970-01-01
  • 2013-12-02
  • 1970-01-01
  • 2023-02-02
  • 1970-01-01
  • 2018-12-12
  • 2017-02-24
相关资源
最近更新 更多