#python #docker #docker-compose #uwsgi
#питон #докер #докер-сочинение #uwsgi
Вопрос:
Я запускаю сервер Python Flask в uwsgi, используя master-fifo для отправки сигналов в главный процесс uwsgi.
Отправка сигналов в главный fifo отлично работает при запуске на моем ноутбуке. Затем я настроил все для запуска того же приложения uwsgi в Docker, используя том Docker для файла master-fifo, чтобы я мог отправлять сигналы с хоста Docker. В этой конфигурации я не могу читать или записывать в файл.
Файл docker-compose:
mycontainer: stdin_open: true tty: true container_name: mycontainer command: - uwsgi - --http-socket - 0.0.0.0:80 - --drop-after-init - --uid - nobody - --gid - nogroup - --processes - "2" - --need-app - --module - mycontainer.wsgi:app - --master-fifo - /host_mount/uwsgi_fifo volumes: - ./mounted_volume/:/host_mount/ image: "some-private-repo/mycontainer:master"
Когда я пытаюсь получить cat
главный файл fifo либо из контейнера, либо с хоста, команда зависает. Похоже, это может быть проблема с разрешением на файл. Я создал uwsgi_fifo
файл на хосте с разрешениями 766
(чтение-запись для всех пользователей) перед запуском контейнера. docker-compose up
Однако после выполнения операции файл получает разрешения 600 (только для чтения и записи для владельца).
Как я могу сделать так, чтобы эта настройка (отправка сигналов в uwsgi с хоста через master-fifo) работала?