Supervisor не работает на Docker - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь запустить ** супервизор * (когда запустится контейнер docker. Но я получаю эту ошибку

app_1  | Traceback (most recent call last):
app_1  |   File "/usr/bin/supervisord", line 11, in <module>
app_1  |     load_entry_point('supervisor==3.3.1', 'console_scripts', 'supervisord')()
app_1  |   File "/usr/lib/python2.7/dist-packages/supervisor/supervisord.py", line 365, in main
app_1  |     go(options)
app_1  |   File "/usr/lib/python2.7/dist-packages/supervisor/supervisord.py", line 375, in go
app_1  |     d.main()
app_1  |   File "/usr/lib/python2.7/dist-packages/supervisor/supervisord.py", line 78, in main
app_1  |     info_messages)
app_1  |   File "/usr/lib/python2.7/dist-packages/supervisor/options.py", line 1398, in make_logger
app_1  |     stdout = self.nodaemon,
app_1  |   File "/usr/lib/python2.7/dist-packages/supervisor/loggers.py", line 346, in getLogger
app_1  |     handlers.append(RotatingFileHandler(filename,'a',maxbytes,backups))
app_1  |   File "/usr/lib/python2.7/dist-packages/supervisor/loggers.py", line 172, in __init__
app_1  |     FileHandler.__init__(self, filename, mode)
app_1  |   File "/usr/lib/python2.7/dist-packages/supervisor/loggers.py", line 98, in __init__
app_1  |     self.stream = open(filename, mode)
app_1  | IOError: [Errno 13] Permission denied: '/var/log/supervisor/supervisord.log'
app_1 exited with code 1

Это мой файл супервизора

[supervisord]

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/app/artisan queue:work sqs --sleep=3 --tries=3
autostart=true
autorestart=false
numprocs=8
redirect_stderr=true
logfile=/var/log/supervisor/supervisord.log
logfile_maxbytes=50MB      
logfile_backups=10 
loglevel=info
pidfile=/var/log/supervisor/supervisord.pid
stdout_logfile=/var/log/supervisor/worker.log
stderr_logfile=/var/log/supervisor/worker_err.log
stopwaitsecs=3600

Docker file

FROM php:7.3-fpm-stretch

RUN apt-get update && apt-get install -y libmcrypt-dev zlib1g-dev curl\
    mysql-client supervisor libmagickwand-dev libzip-dev zip --no-install-recommends \
    && mkdir -p /var/log/supervisor \
    && mkdir -p /etc/supervisor/conf.d pecl install imagick \
    && docker-php-ext-install pcntl exif mbstring mysqli pdo pdo_mysql zip tokenizer intl
RUN pecl install redis docker-php-ext-enable redis

# Install Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Work Directory
WORKDIR /var/www/app

# PHP Jpeg convertion support
RUN apt-get update && apt-get install -y libpng-dev
RUN apt-get install -y libwebp-dev libjpeg62-turbo-dev libpng-dev libxpm-dev libfreetype6-dev
RUN docker-php-ext-configure gd \
    --with-gd \
    --with-webp-dir \
    --with-jpeg-dir \
    --with-png-dir \
    --with-zlib-dir \
    --with-xpm-dir \
    --with-freetype-dir
RUN docker-php-ext-install gd

COPY ./docker/app/php/local.ini /usr/local/etc/php/conf.d/local.ini
COPY ./docker/app/supervisor/supervisor.conf /etc/supervisor/conf.d/supervisord.conf

# Add user for laravel application
RUN groupadd -g 1000 www
RUN useradd -u 1000 -ms /bin/bash -g www www \
    && chmod -R 755 /var/log/supervisor/

# Change current user to www
USER www

CMD ["/usr/bin/supervisord"]

EXPOSE 9000

Как я могу запустить супервизор в моем контейнере без ошибок?

...