Проблема с развертыванием Dokku - "setuidgid: fatal: unable to run gunicorn: file does not exist".
Я столкнулся с проблемой развертывания Dokku при попытке развернуть свой проект. Сообщение об ошибке указывает на проблему с gunicorn, и мне трудно выяснить ее причину. Вот подробности:
Сообщение об ошибке:
remote: perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
Attempting pre-flight checks (web.1)
-----> Executing 2 healthchecks
Running healthcheck name='default' type='uptime' uptime=10
Running healthcheck name='port listening check' attempts=3 port=5000 retries=2 timeout=5 type='listening' wait=5
Healthcheck succeeded name='port listening check'
=====> Start healthcheck output
state=restarting
=====> End healthcheck output
remote: ! Failure in name='default': container has restarted 6 times
some_id
remote: ! Could not start due to 1 failed checks (web.1)
=====> Start of myproject container output (web.1)
setuidgid: fatal: unable to run gunicorn: file does not exist
setuidgid: fatal: unable to run gunicorn: file does not exist
setuidgid: fatal: unable to run gunicorn: file does not exist
setuidgid: fatal: unable to run gunicorn: file does not exist
setuidgid: fatal: unable to run gunicorn: file does not exist
setuidgid: fatal: unable to run gunicorn: file does not exist
=====> End of myproject container output (web.1)
=====> Start of container output (.)
setuidgid: fatal: unable to run gunicorn: file does not exist
setuidgid: fatal: unable to run gunicorn: file does not exist
setuidgid: fatal: unable to run gunicorn: file does not exist
setuidgid: fatal: unable to run gunicorn: file does not exist
setuidgid: fatal: unable to run gunicorn: file does not exist
setuidgid: fatal: unable to run gunicorn: file does not exist
=====> End of container output (.)
remote: parallel: This job failed:
remote: /var/lib/dokku/plugins/available/scheduler-docker-local/bin/scheduler-deploy-process-container myproject herokuish dokku/myproject:latest latest web 1 1
To id_adress:myproject
! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'id_adress:myproject'
Похоже, что сбой связан с тем, что файл gunicorn не найден.
Я проверил документацию по Dokku и убедился, что необходимые конфигурации установлены. Я использовал этот совет и этот совет, но у меня все еще та же проблема.
Сталкивался ли кто-нибудь с подобной проблемой при развертывании Dokku и процессе gunicorn? Какие шаги я могу предпринять для устранения неполадок и решения этой проблемы? Любые соображения или рекомендации будут очень признательны. Спасибо!
Вероятно, данное приложение основано на билдпаке. Билдпаки запускаются героическим базовым образом в определенном порядке, причем применяется первый обнаруженный билдпак.
Без дополнительной информации о логах (первая часть вашего deploy была вырезана в опубликованных вами логах), вероятно, было обнаружено несколько билдпаков, причем билдпак python, который устанавливает зависимости в requirements.txt
, не был первым. Вероятно, вы захотите использовать несколько билдпаков, создав и зафиксировав файл .buildpacks
в базе вашего репозитория, указав в нем содержимое каждого билдпака, который вам нужен. Ниже приведен пример указания только билдпака heroku/python.
heroku/python
Вы также можете установить билдпаки с помощью команд buildpacks:
dokku buildpacks:add node-js-app heroku/python
Он будет управлять файлом .buildpacks
от вашего имени.