Docker с supervisor перестает работать и выдает ошибку

Использую supervisor для запуска Swoole сервера в Docker (docker-compose) на Windows 10. В последнее время стало часто падать с ошибкой, приведенной ниже. Раньше (примерно 2-3 версии докера назад) вроде бы всё было окей. Начинает падать в рандомное время, минимально – примерно через час, при этом съедает всю оперативную память и процессор.

Ошибка:

OSError: [Errno 5] I/O error

Traceback (most recent call last):

File "/usr/lib/python3.10/site-packages/supervisor/loggers.py", line 102, in emit

self.stream.write(msg)

Гугл выдает информацию, что нужно запускать сам докер от имени администратора, но это не помогает. Всё стабилизируется после полного перезапуска докера. Что с этим можно сделать?

Конфиг программ:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/artisan queue:work --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
numprocs=2
redirect_stderr=true
stopwaitsecs=3600
stdout_logfile=/var/www/html/storage/logs/supervisor_queue-work.log
stdout_logfile_maxbytes = 0
stderr_logfile_maxbytes = 0

[program:swoole]
command=php /var/www/html/artisan swoole:http start
redirect_stderr=true
autostart=true
autorestart=true
numprocs=1
process_name=%(program_name)s_%(process_num)s
stdout_logfile=/var/www/html/storage/logs/swoole_http.log
stdout_logfile_maxbytes = 0
stderr_logfile_maxbytes = 0

Конфиг supervisord:

[unix_http_server]
file=/tmp/supervisor.sock   ; the path to the socket file
username=nobody              ; default is no username (open server)
password=nobody               ; default is no password (open server)

[supervisord]
logfile=/tmp/supervisord.log ; main log file; default $CWD/supervisord.log
logfile_maxbytes=0        ; max main logfile bytes b4 rotation; default 50MB
logfile_backups=10           ; # of main logfile backups; 0 means none, default 10
loglevel=info                ; log level; default info; others: debug,warn,trace
pidfile=/tmp/supervisord.pid ; supervisord pidfile; default supervisord.pid
nodaemon=false               ; start in foreground if true; default false
minfds=1024                  ; min. avail startup file descriptors; default 1024
minprocs=200                 ; min. avail process descriptors;default 200
user=root                    ; setuid to this UNIX account at startup; recommended if root

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

[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket

[include]
files = /etc/supervisor/conf.d/*.conf

Ответы (0 шт):